繁体   English   中英

如何创建一个带有延迟/超时的 javascript 书签?

[英]How do I create a javascript bookmarklet with a delay/timeout inside?

我正在尝试在 Chrome 中制作一个 javascript 书签来加载网页,等待 5 秒钟,然后在该页面上运行一个名为 close() 的函数来关闭广告。 我尝试了以下操作,但无法正常工作:

javascript:(function(){window.location.href="http://www.example.com",setTimeout(function(){close()},5000)})();

似乎 setTimeout 是在运行代码之前暂停的正确方法,但我猜我似乎无法获得正确的语法。 我尝试用另一个页面重定向替换“close()”,但它从未被调用。 有任何想法吗? 提前致谢!

您的问题是代码的上下文将是当前窗口。

分配window.location.href="http://www.example.com" ,新页面将立即加载新的窗口实例,此后的所有代码将与先前的窗口实例一起保存

尝试这个!

javascript:(() => {const sleep = ms => new Promise(y => setTimeout(y,ms));var win = window.open("https://example.com");sleep(5000).then(() => win.close())})();

我是用 ES6 格式制作的 - sleep 功能只是为了让它更具可读性

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM