Javascript 在bookmarklet中使用jssettimeout

Javascript 在bookmarklet中使用jssettimeout,javascript,bookmarklet,Javascript,Bookmarklet,我正试图在firefox的bookmarklet中运行一些JS代码。下面是一些基本代码来证明这一点: setTimeout(函数(){alert('i ran');},1000) 当我运行带有setTimeout的代码时,整个页面会被控制台中通常记录的计数器值替换 有没有办法捕捉这个输出并阻止这种情况发生 谢谢 尝试以下操作: javascript:(window.setTimeout(function() { alert('i ran'); }, 1000));void(0); 当您在地址栏

我正试图在firefox的bookmarklet中运行一些JS代码。下面是一些基本代码来证明这一点:

setTimeout(函数(){alert('i ran');},1000)

当我运行带有setTimeout的代码时,整个页面会被控制台中通常记录的计数器值替换

有没有办法捕捉这个输出并阻止这种情况发生

谢谢

尝试以下操作:

javascript:(window.setTimeout(function() { alert('i ran'); }, 1000));void(0);

当您在地址栏中使用
javascript:
协议时(这是所有bookmarklet都要做的),浏览器会生成一个
文档。如果返回值是真的,则写入

setTimeout
调用始终返回计时器的数字。要解决此问题,您可以附加一个
void(0)像epoch或我喜欢的那样,将其包装成:


你能给我们看一下完整的bookmarklet吗?嗨,它的位置部分看起来像这样:javascript:window.setTimeout(%20function()%20{alert('i%20ran');},%201000%20);
(function() {
    window.setTimeout( function() {alert('i ran');}, 1000 );
})();