Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何创建内部带有延迟/超时的javascript bookmarklet?_Javascript_Google Chrome_Bookmarklet - Fatal编程技术网

如何创建内部带有延迟/超时的javascript bookmarklet?

如何创建内部带有延迟/超时的javascript bookmarklet?,javascript,google-chrome,bookmarklet,Javascript,Google Chrome,Bookmarklet,我试图在Chrome中创建一个javascript bookmarklet来加载一个网页,等待5秒钟,然后在该网页上运行一个名为close()的函数来关闭一个广告。我尝试了以下方法,但无法使其工作: javascript:(function(){window.location.href="http://www.example.com",setTimeout(function(){close()},5000)})(); 似乎setTimeout是在运行代码之前暂停的正确方法,但我想我似乎无法正确

我试图在Chrome中创建一个javascript bookmarklet来加载一个网页,等待5秒钟,然后在该网页上运行一个名为close()的函数来关闭一个广告。我尝试了以下方法,但无法使其工作:

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

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

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


一旦分配
window.location.href=”http://www.example.com“
一个新的页面将加载一个新的窗口实例,之后的任何代码都将与以前的窗口实例一起消失

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


一旦分配
window.location.href=”http://www.example.com“
一个新页面将加载一个新的窗口实例,之后的任何代码都将与上一个窗口实例一起加载

它实际上是在同一个选项卡中加载的。window.open()似乎和您描述的一样。感谢您的关注,还有其他想法吗?@djh重点是
close()
将永远不会在新的上下文中执行,无论您使用
href=
还是
open()
问题都是一样的。我意识到它是在同一个选项卡中打开的。。。但是javascript不是持久性的,并且上一个窗口中的所有脚本都消失了。基本上,您要做的是在一个页面上运行一些代码…当一个新页面加载时,运行更多的代码。。。。不能这么做啊该死的:(好的,谢谢charlietfl和@Matt。还有其他方法可以实现我的目标吗?@djh我想可以肯定地说bookmarklets不能实现这种持久性。我建议看一些类似Chrome扩展的东西。比如:它实际上是在同一个tab.window.open()中加载的不过似乎与您描述的一样。感谢您的关注,还有其他想法吗?@djh重点是
close()
将永远不会在新上下文中执行,无论您使用
href=
还是
open()
问题是一样的。我知道它在同一个选项卡中打开…但是javascript不是持久的,上一个窗口中的所有脚本都消失了。你基本上是想在一个页面上运行一些代码…当一个新页面加载时,再运行一些代码…不能这样做啊该死的:(好的,谢谢charlietfl和@Matt。还有其他方法可以实现我的目标吗?@djh我想可以肯定地说bookmarklets无法实现这种持久性。我建议你看看Chrome扩展之类的东西。比如: