由于一般原因,我必须将一些 JavaScript 放入某些导航栏链接的 HREF 属性中才能执行更多操作。部分操作需要延迟执行,因此我使用 window.setTimeout
。
这是一个示例:
<a href="javascript:alert('do anything');window.setTimeout(function(){alert('do anything else');},1111);">Login</a>
在 Google Chrome 中,这按预期工作,但在 Firefox 上,当调用 window.setTimeout
时,它会重定向到一个新的空页面,该页面仅包含一个随机数。
预览:http://jsbin.com/rekosahute
为什么会发生这种情况以及如何避免这种情况并仍然使用 HREF 属性来执行此类操作?特别是返回的数字对我来说很神奇。
最佳答案
将其包装在匿名函数中似乎可以修复它:
<a href="javascript:(function(){alert('do anything');window.setTimeout(function(){alert('do anything else');},1111);})()">Login</a>
在 FF 中返回并显示在页面上的数字是 window.setTimeout 的返回值,它是一个每次调用时都会递增的计数器,以便您跟踪计时器。
关于javascript - Firefox 上的 javascript 链接中的 window.setTimeout 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38686627/