【问题标题】:Having an issue when using load events on firefox and safari在 firefox 和 safari 上使用加载事件时出现问题
【发布时间】:2022-01-25 08:06:45
【问题描述】:

从外部 js 文件加载时,firefox 和 safari 都拒绝执行 load 事件。它仅适用于谷歌浏览器。

我真的无法理解这个问题。

在我的 html 中:

<script src="/assets/js/pages/myFile.js" type="text/javascript"></script>

myFile.js

window.addEventListener("load", function(event){
// do someting (only works in chrome browser)
})

我的 html 页面由 node.js(ejs 页面)提供服务,myFile.js 被 3 个浏览器(Firefox、chrome 和 safari)识别,所以我真的不明白为什么我的加载事件因 ff 和 safari 而失败.

我也尝试过window.unload,但没有成功。

有什么建议吗?

【问题讨论】:

  • 我认为我们必须看到一个可重现的案例才能知道如何提供帮助。显然,窗口load 事件通常有效,因此它显然与您的工作方式有关。请在您的问题中添加一个最小的、可重现的示例,以便我们可以看到发生的问题并重现它并进行测试。

标签: javascript jquery node.js express


【解决方案1】:

好像事件已经被触发了,我建议经常检查它:

function onLoad(callback){
    if (document.readyState === 'complete') {
        callback();
    } else {
        window.addEventListener("load", callback);
    }
}

onLoad(function(){
    // do someting
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-31
    相关资源
    最近更新 更多