首页 > 解决方案 > 未捕获的类型错误:$.browser 未定义

问题描述

我在我的网站上遇到了一个我还没有弄清楚的问题。我对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));
              });
    });

标签: javascriptjqueryjsonwordpresscross-browser

解决方案


似乎你得到了它的工作,但这个问题已由主题开发人员修复。只需要更新the7主题。我有一个客户也遇到了同样的问题,他几年前有人建立了他们的网站,但没有维护它。

您可能使用的是第 3 版或第 4 版,目前是第 9 版。升级过程需要注意几个步骤,因此请务必在升级之前进行备份和阅读。我担心升级会导致不必要的更改,但该网站运行良好。我会注意到他们有一个基于它的子主题。

https://support.dream-theme.com/knowledgebase/procedure-to-update-the7-v3-and-v4-to-the7-v7/


推荐阅读