我有以下JS代码,它检查网页以查看是否定期发布新密钥。现在的问题是:
从开发者控制台(F12)直接调用start()
时,结果是正确的,当我的函数$(document).ready
调用它时结果是错误的,是的我有100次确认页面上的内容没有变化。
我很想知道vars是否不同步,所以我在start()
中调用了$(document).ready
2次,但是当我调用{{1}时仍然是错误的结果来自F12(从satrt()
调用20次之后,我得到了正确的结果。
我已经确认所有事件都在等待finsih(可能称为$(document).ready
),并且不是任何单个语句在不同的线程中运行。
然后,如果synchronous
调用它,那么它是如何可能的,那么它是正确的,如果F12
调用它那就错了。
当我的代码中没有$(document).ready
时,我从$(document).ready
调用了wow()
,这也给了我错误的结果,但F12给出了正确的结果。
现在我有start()
,如果我从中调用$(document).ready
来调用start()
会给我错误的结果,但现在如果我从我的控制台调用wow()
,它会给我正确的结果!
我想以更简单的形式做什么:
start()
wow()
完成 相同的过程在无限循环中继续。
谦虚感谢您的帮助,这已经耗费了大约5-6个小时的时间!
JS代码:http://pastebin.com/9UJYdepU
编辑:
正确输出:
wow()
输出错误:
a.js:136 Started
a.js:33 Called Wow
a.js:83 ---------------------KEY 7.0----------------
a.js:83 ---------------------KEY 7.1----------------
a.js:83 ---------------------KEY 7.2----------------
a.js:102 LAST used keys : Saab,Volvo,BMW,4E69G-8GNG4-JCZ4Z,H63HQ-VHWPX-ZCJ8J,FKZGK-MXL5C-P2YTE,4E69G-xxxxxx-JCZ4Z,4E69G-AAAxx-JCZ4Z,4E69G-AAAxx-JasasCZ4Z,4E69G-AAAxx-JasaaaasCZ4Z
a.js:140 WOWO DONW
Started
a.js:33 Called Wow
a.js:102 LAST used keys : Saab,Volvo,BMW,4E69G-8GNG4-JCZ4Z,H63HQ-VHWPX-ZCJ8J,FKZGK-MXL5C-P2YTE,4E69G-xxxxxx-JCZ4Z,4E69G-AAAxx-JCZ4Z,4E69G-AAAxx-JasasCZ4Z,4E69G-AAAxx-JasaaaasCZ4Z
a.js:140 WOWO DONW
给出:http://pastebin.com/JXQ9483N
document.getElementsByTagName("p");
提供localStorage.getItem("usedp")
答案 0 :(得分:0)
最后我解决了!这都是因为邪恶的Jquery(对不起,如果我伤害了你)。
$(document).ready在页面开始加载时触发,而不是在finsihed加载时,我的替代解决方案是:
var myVar = setInterval(function(){ chk() }, 500);
function chk(){
if(document.readyState=="complete"){
clearInterval(myVar);
startt();
}
}