Javascript 使用window.addEventListener(';/load';,myFunction);在第二个html页面上?

Javascript 使用window.addEventListener(';/load';,myFunction);在第二个html页面上?,javascript,html,onload,Javascript,Html,Onload,你能告诉我如何修改这个javascript代码吗?我希望在加载第二个页面(capture.html)时执行它,而不是在第一个页面(index.html)上执行它: 它在index.html页面中工作正常,但在capture.html页面中也需要它。我试过: window.addEventListener('/capture/load', myFunction); 但是它不起作用。/capture/load不是一个事件load是,因此可能需要在文档正文中添加一个id,然后进行测试 window

你能告诉我如何修改这个javascript代码吗?我希望在加载第二个页面(capture.html)时执行它,而不是在第一个页面(index.html)上执行它:

它在index.html页面中工作正常,但在capture.html页面中也需要它。我试过:

window.addEventListener('/capture/load', myFunction);

但是它不起作用。

/capture/load
不是一个事件
load
是,因此可能需要在文档正文中添加一个
id
,然后进行测试

window.addEventListener('load',myFunction);
函数myFunction(){
if(document.body.id==='capture'){
console.log(true);
}否则{
console.log(false);
}
}

您不能指定要为其附加事件的路由(至少不能像您尝试的那样在
addEventListener()API中指定)。没有“/load”或“/capture/load”事件。但您可以在处理程序中定义依赖于当前路由的逻辑,如下所示:

consthandler=()=>{
const{pathname}=window.location;
if(/\/?捕获(\.html?)$/.test(路径名)){
//在这里添加您的代码
}
};
addEventListener('load',handler);

如果需要,您甚至可以在附加事件侦听器之前执行相同的检查。

您的html文件是否未附加到最后一行?顺便说一句,最好在问题中直接包含与问题相关的代码。谢谢,这样我就可以这样添加代码了?if(document.body.id=='capture'){console.log(true);//我的代码;}
window.addEventListener('/capture/load', myFunction);