【问题标题】:jQuery slider code not working in browsers other than Firefox or VivaldijQuery 滑块代码在 Firefox 或 Vivaldi 以外的浏览器中不起作用
【发布时间】:2017-09-08 06:46:09
【问题描述】:

有一个简单的脚本来显示和隐藏页面上的一些元素。问题是它只适用于 Firefox 和 Vivaldi,据我测试,最近的 Safari、IE11 和 Chrome 50 存在问题(57 都可以正常工作)。

代码位于脚本标签内子页面的源代码中。看起来$(document).ready(function() 的内容根本没有执行,没有任何错误。我只有对子页面编辑的写入权限,据报道正在运行的 jquery 版本是 1.12.0。

类似的代码也放置在页面头部部分脚本标记中的$(document).ready(function() 中工作正常。

我想知道是否可能是因为 jquery 版本。在我没有太多访问权限的页面其余代码中,有几个调用 google cdn 来加载 jquery,我可以加载不同版本的 jquery 而不影响使用旧版本 jquery 的其他脚本吗?

jQuery

​​>
$(document).ready(function() {
var slideDelay = 1600;

$(".offer_close").click(function() {
    $(this).closest(".offer_content").slideUp(slideDelay);
});

$(".offer_title").click(function() {
    if ($(this).next(".offer_content").is(':visible')) {
        $(this).next(".offer_content").slideUp(slideDelay);
    } else {
        $(".offer_content").slideUp(slideDelay);
        var tmp = $(this).next(".offer_content");
        tmp.slideToggle(slideDelay, function() {
            $('html, body').animate({
                scrollTop: tmp.offset().top - 300
            }, 1000);
        });
    }
});
});

【问题讨论】:

  • AFAIK, $(document).ready() 在所有浏览器中都是完全可靠的。如果它真的没有在任何特定浏览器中触发,我会怀疑 javascript 在设置中已关闭 - 至少这是我要调查的第一件事。
  • @Roamer-1888 我确实排除了 tjavascript 立即关闭
  • 将此<script>alert("working");</script> 添加到您的html 页面底部,就在</body> 内(不是在单独的.js 文件中)。如果在您的代码不起作用的那些浏览器上没有发出警报,则 js 被禁用。
  • “简单的 javacript 代码”太模糊了。写问题时你真的应该更具描述性。

标签: javascript jquery html cross-browser


【解决方案1】:

我确实在本地保存了页面,并开始查看页面内的其他 JavaScript 代码,但我无法进行编辑。

有一件事确实很突出,在位于标题中的$(document).ready() 中使用了URL 函数,这似乎不是Java Script 的标准部分,它确实给出了错误,显然彻底破坏了jQuery,但同时时间一般不会影响 Java Script 的执行。我确实到达了服务台,希望他们会修补它。

【讨论】:

    猜你喜欢
    • 2015-12-14
    • 1970-01-01
    • 1970-01-01
    • 2014-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-02
    • 1970-01-01
    相关资源
    最近更新 更多