【发布时间】:2020-12-21 02:33:52
【问题描述】:
我在我的网站上遇到了一个我还没有弄清楚的问题。我对js不是很熟悉。
下面是引发此错误的 js 文件中的代码。
var dtGlobals = {};
(dtGlobals.isMobile = /(Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|windows phone)/.test(navigator.userAgent)),
(dtGlobals.isAndroid = /(Android)/.test(navigator.userAgent)),
(dtGlobals.isiOS = /(iPhone|iPod|iPad)/.test(navigator.userAgent)),
(dtGlobals.isiPhone = /(iPhone|iPod)/.test(navigator.userAgent)),
(dtGlobals.isiPad = /(iPad)/.test(navigator.userAgent)),
(dtGlobals.isBuggy = navigator.userAgent.match(/AppleWebKit/) && "undefined" == typeof window.ontouchstart && !navigator.userAgent.match(/Chrome/)),
(dtGlobals.winScrollTop = 0),
(window.onscroll = function () {
dtGlobals.winScrollTop = void 0 !== window.pageYOffset ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop;
}),
(dtGlobals.isWindowsPhone = navigator.userAgent.match(/IEMobile/i)),
(dtGlobals.customColor = "red"),
dtGlobals.isMobile ? (document.documentElement.className += " mobile-true") : (document.documentElement.className += " mobile-false"),
(dtGlobals.logoURL = !1),
(dtGlobals.logoH = !1),
(dtGlobals.logoW = !1),
jQuery(document).ready(function ($) {
var e = $(document),
t = $(window),
n = $("html"),
o = $("body");
if (
(dtGlobals.isiOS ? n.addClass("is-iOS") : n.addClass("not-iOS"),
!$.browser.webkit || dtGlobals.isMobile ? o.addClass("not-webkit").removeClass("is-webkit") : o.removeClass("not-webkit").addClass("is-webkit"),
jQuery.browser.msie && 10 == jQuery.browser.version && o.addClass("ie-10"),
($.browser.safari = $.browser.webkit && !/chrome/.test(navigator.userAgent.toLowerCase())),
$.browser.safari && o.addClass("is-safari"),
dtGlobals.isWindowsPhone && o.addClass("ie-mobile").addClass("windows-phone"),
dtGlobals.isMobile || o.addClass("no-mobile"),
dtGlobals.isiPhone && o.addClass("is-iphone"),
!$("html").hasClass("old-ie"))
) {
(dtGlobals.isPhone = !1), (dtGlobals.isTablet = !1), (dtGlobals.isDesktop = !1);
var r = window.getComputedStyle(document.body, ":after").getPropertyValue("content");
-1 != r.indexOf("phone") && dtGlobals.isMobile ? (dtGlobals.isPhone = !0) : -1 != r.indexOf("tablet") && dtGlobals.isMobile ? (dtGlobals.isTablet = !0) : (dtGlobals.isDesktop = !0);
}
$.browser.msie && $("html").removeClass("csstransforms3d");
var i;
dtGlobals.isMobile && !dtGlobals.isWindowsPhone
? $(window).bind("orientationchange", function (e) {
clearTimeout(i),
(i = setTimeout(function () {
$(window).trigger("debouncedresize");
}, 200));
})
: $(window).on("resize", function () {
clearTimeout(i),
(i = setTimeout(function () {
$(window).trigger("debouncedresize");
}, 200));
});
});
【问题讨论】:
-
$.browser() 很久以前就被 jQuery 弃用并删除了。你做了版本升级吗?
-
@charlietfl 不,我没有进行版本升级。我注意到 Wordpress 已更新到最新版本,但我已经有大约 2 年没有升级任何代码了,直到几周前它才能完全正常工作
-
好的,你的模板可能已经升级并包含了更高版本的 jQuery。你可以从stackoverflow.com/questions/14798403/…复制函数
-
知道了。谢谢@charlietfl 以及在另一个线程上发布该答案的人。你让我今天一整天都感觉很好。再次感谢您。
标签: javascript jquery json wordpress cross-browser