- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试运行 setTimeout()在网站上通过 Firefox 的 Scratchpad .似乎关于这个特定的 JavaScript 方法存在各种 Firefox 错误 - 它是双胞胎,setInterval()
。在 Firefox v.56 和最新的 Waterfox(都是“Quantum”之前的版本)中,这些 JavaScript 方法似乎根本不起作用。相比之下,在 Firefox “Quantum” 版本中,它似乎确实有效......也就是说,完全相同的代码在 FF “Quantum” 中有效,它不在立即预“Quantum”版本的 Firefox。是的,我试过了 all sorts of variations .
在这个练习中,我遇到了 Firefox 之前的 Quantum 版本,我需要找到一种方法来“构建”这个 setTimeout()
方法可以说是原则。
一个想法是获取当前日期/时间,然后循环检查以查看是否已经过去了 10 秒(或 5 分钟),然后再继续执行进一步的代码/脚本。
关于如何使用 JavaScript 高效地模拟 setTimeout()
资源的想法,但没有 setTimeout()
或setInterval()
?
---编辑---
误报...也可以让 setInterval()
在旧版浏览器中工作;我的错!
(这意味着提出问题的原因已经消失,但问题本身可能仍然存在......)
---第二次编辑---
而 setTimeout()
在这里起作用:
setTimeout(function(){ alert("Hello"); }, 3000);
它不起作用/这里似乎被忽略了:
i=0;
while(i < 100)
{
// window.open("https://www.cnn.com","_self");
// window.open("https://www.bbc.com","_self");
// setTimeout(function(){ alert("Hello"); }, 3000);
setTimeout(function(){ window.open("https://www.bbc.com","_self") }, 3000);
setTimeout(function(){ window.open("https://www.cnn.com","_self") }, 3000);
alert(i);
i++;
}
// security mgr vetoed ???
最佳答案
如果您真的非常想模拟 setTimeout
函数而不阻塞浏览器等等,您可以尝试使用 requestAnimationFrame
函数来获得一些延迟。它应该适用于 Firefox 14.0+。类似的东西:
function mySetTimeout (callback, timeout) {
var startTime = performance.now();
function mySetTimeoutRec () {
requestAnimationFrame(function () {
// This way this function will be called
// asynchronously around 60 times per second
// (or less frequently on the inactive tabs).
// We can check that enough time has passed
// and call the user callback or this function again.
var currentTime = performance.now();
var elapsedTime = currentTime - startTime;
if (elapsedTime < timeout) {
mySetTimeoutRec();
} else {
callback();
}
});
}
mySetTimeoutRec();
}
可以像setTimeout
一样使用:
mySetTimeout(function () { console.log('Howdy.'); }, 10 * 1000);
无论如何,在大多数情况下你不应该尝试做那样的事情。如果您似乎对 setTimeout
有问题,那可能是其他地方出了问题。
关于javascript - 模拟 JavaScript 的 setTimeout() 方法 “from first principles”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50303129/
只是向 Stack Overflow 和 Microsoft 开发社区提出关于 OO 软件设计原则(称为 SOLID)的想法和问题。请问里氏替换原则和依赖倒置原则有什么区别?我已经考虑了一段时间,但我
我读过关于 S.O.L.I.D. 的文章。但我看不出 OCP 和 DIP 之间有什么区别。看看这个 OCP 的例子: http://www.oodesign.com/open-close-princi
我正在尝试理解单一职责原则并确定我的系统中可能存在的类。 目前我知道Bob叔叔说的原则,即 避免狡猾的词,如经理、数据、 super 或处理器。我们应该能够在不使用“if”、“and”、“or”和“b
我可以通过封装掌握“做一件事”的部分,Dependency Injection , Principle of Least Knowledge , 和 You Ain't Gonna Need It ;
有人可以解释一下 是做什么的吗?拒绝遗赠 方法? 我尝试阅读一些文章并说它是一种代码异味,或者在 wiki 中它说它是一个类,它覆盖了基类的方法,使得派生类不遵守基类的契约。 但简而言之,或者更简单地
在我正在编写的应用程序中,我有一个策略类。有 4 种不同类型的策略。每个策略都根据其他策略进行加权,例如策略 A > 策略 B > 策略 C > 策略 D。 谁有责任实现确定一项政策是否优于另一项政策
我在看 Bob Martin's principles of OOD, specifically the SRP text ,我非常理解它所说的精神,但我不太明白链接的第 2 页(本书的第 150 页
我正在寻找一些违反单一职责原则的优秀代码示例。不要给我看鲍勃叔叔的书或网站上的任何例子,因为它们在互联网上到处都是,就像这样: interface Modem { public void di
我正在使用原理来存储当前用户 ID, 存储 val principalExtractor: (MutableMap) -> Any? = { params -> val sess
LSP 是 SOLID 中最难正确理解的。 LSP 声明程序中的对象应该可以用它们的子类型的实例替换,而不会改变程序的正确性。 因此,如果我们有这个典型的矩形 - 正方形示例: rect = new
我读了一篇摘要,其中在谈到继承时总是使用“替代原则”的定义。但并没有解释这个原理的含义。 这个原理是什么? 谢谢。 最佳答案 意思很简单:子类必须遵守父类(super class)设定的契约。 如果你
我们都用一些模式编写代码,即使我们没有意识到。我试图真正理解一些 S.O.L.I.D 原则,以及您如何在现实世界中应用这些原则。 我正在为“D”而苦苦挣扎。 我有时会混淆依赖倒置和依赖注入(injec
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 3 年前。 Improve
我最近在很多代码中注意到人们将硬编码的配置(如端口号等)值放在类/方法的深处,使其难以找到,也无法配置。 这是否违反了 SOLID 原则?如果不是,我是否可以向我的团队成员引用另一个“原则”来说明为什
我们正在对我们的系统进行一些重大更改,我想知道实现这些新业务逻辑规则的最佳方式,尊重 SOLID 原则: 开放/封闭原则说“对扩展开放,对修改关闭”好吧,但是我该如何修改呢?我的意思是,我不想保留旧的
如果我有类似的东西 class square : figure {} class triangle : figure {} 这是否意味着我永远不应该使用正方形和三角形类而只能引用图形? 永远不要这样做
关闭。这个问题是 opinion-based 。它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文来回答。 2年前关闭。 Improve t
很难说出这里问的是什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或言辞激烈,无法以目前的形式合理回答。如需帮助澄清此问题以便可以重新打开,visit the help center . 12 年前
我对里氏替换原则的理解是,基类的某些属性是正确的,或者基类的某些实现行为对于派生类也应该是正确的。 我想这意味着当在基类中定义方法时,永远不应该在派生类中重写该方法 - 因为那时替换基类而不是派生类会
过去一两周,在我的计算机科学课上,我们被要求展示如何通过“原则性转换”来简化和缩短函数。我们尚未收到有关这些作业的反馈,因此我不知道我做得是否正确。 这是我最新的练习,以及我对解决方案的尝试: Sho
我是一名优秀的程序员,十分优秀!