我有一个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
}
});