Javascript 我应该在body标签上使用onload还是检测URL?

Javascript 我应该在body标签上使用onload还是检测URL?,javascript,html,url,onload,Javascript,Html,Url,Onload,我有一个JavaScript函数,只能在网站的特定页面上运行 该函数位于一个单独的script.js文件中,该文件在站点上的每个页面之间共享 为确保此功能仅在特定页面上运行,我当前将onload属性硬编码到我希望它运行的页面上的body标记,例如 我正在考虑删除它,而是在我的函数中添加一些代码,这样它就可以得到当前的URL,如果它与允许的URL列表中的某个URL匹配,那么它就会运行 这样做值得吗,还是我应该保留只向每个body标签添加onload属性的需要? 或者有更好的解决方案只在特定页面上运

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

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

为确保此功能仅在特定页面上运行,我当前将onload属性硬编码到我希望它运行的页面上的body标记,例如

我正在考虑删除它,而是在我的函数中添加一些代码,这样它就可以得到当前的URL,如果它与允许的URL列表中的某个URL匹配,那么它就会运行

这样做值得吗,还是我应该保留只向每个body标签添加onload属性的需要?


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

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


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

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

你想调用MyFunction的页面有什么规范吗?为什么不在脚本所应用的页面的
标签上添加一个类呢?@目前有人遇到了麻烦,这只是主页和其他子页面,但这可能会改变。好文章,使用数据属性可能是一种方法(类似于添加类或id的方法)。谢谢,我想我将采用类似的方法,但使用data属性,而不是类或id。
$(function () {
    if ($('#thePageIwant').length > 0) {
        // do something
    }
});