我应该在正文标签上使用 onload 还是检测 URL



我有一个JavaScript函数,应该只在网站上的特定页面上运行。

该函数位于一个单独的script.js文件中,该文件在网站上的每个页面之间共享。

为了确保此功能仅在特定页面上运行,我目前将 onload 属性硬编码为我希望它运行的页面上的 body 标签,例如 <body onLoad="myFunction()">

我正在考虑删除它,而是向我的函数添加一些代码,从而获取当前 URL,如果它与允许的 URL 列表中的一个 URL 匹配,那么它将运行。

是否值得这样做,或者我应该保留为每个正文标签添加一个 onload 属性的需要?

或者有没有更好的解决方案只在特定页面上运行一个函数?

Paul Irish 有一篇关于如何在所需页面上加载脚本的好文章,请查看:

  • 基于标记的不显眼的全面 DOM 就绪执行

您可以检查当前网址(location.href)。但是,拥有一些您要查找的标识符会更干净。例:

<body id="thePageIwant">
</body>

然后:

$(function () {
    if ($('#thePageIwant').length > 0) {
        // do something
    }
});

最新更新