Javascript中的循环/监视对象的更新
Loops in Javascript / monitoring objects for updates
我有一个iframe。我想在Javascript中创建一个循环来监视iframe的URL。所以我想要这样写:
while(1){
if(iframe.src == "foo"){
iframe.src = "bar"
}
}
什么是正确的方法来做到这一点(理想情况下没有jQuery等)? 如果你有一个无限循环,你必须手动停止它,使用break:
while (1) {
if(...) {
...
break; //exit loop
}
}
这是你想问的吗?如有任何进一步的问题,请尽管问。
编辑:我选择的解决方案是创建一个自己的事件来监听,并在需要时创建一个触发事件的函数:
var iframeSrcChangeEvt = new Event("iframeSrcChanged"); //create event
document.querySelector("iframe").addEventListener("iframeSrcChanged",function() { //add event listener to the iframe
this.src = "bar"; //change src as you need it
this.removeEventListener("iframeSrcChanged"); //remove listener if fired
clearInterval(monitorIframe); //stop monitoring the iframe
});
var monitorIframe = setInterval(function() { //set an interval to monitor the iframe
var iframe = document.querySelector("iframe");
if(iframe.src == "foo") {
iframe.dispatchEvent(iframeSrcCHangeEvt); //fire event
}
},500);
我认为这个解决方案是更好的,因为你可以添加多个iframe来监控,如果你适应的代码
相关文章:
- 从knockout.js中的另一个对象更新一个深度结构化的javascript对象
- Meteor使用对象更新集合
- 如何使用不同视图的JSON对象更新angular js中的全局JSON字段
- 流星反应式嵌套对象更新父对象
- 从返回的 MongoDB 对象更新 Angular.js $scoped
- 在节点 JS 中将值从一个对象更新到另一个对象
- 使用循环从另一个对象更新对象
- React未从数组内的对象更新属性
- 可以't使用新对象更新localStorage
- 使用MongoDB,如何使用变量中的对象更新数组中的对象
- 从用PHP脚本创建的json对象更新速度表数据
- mongoDB-使用$set和一个对象更新文档
- 无法使用新数据对象更新Knockout UI
- 通过REST端点用JSON对象更新Mongoose架构
- 变量引用对象的值,但在对象更新时不更新
- 如何使用jq命令行实用程序执行JSON对象更新
- ReactJS皮质对象更新渲染未调用
- 如何使用json对象更新dojo网格
- 使用接收到的对象更新css设置
- 只有一些我的解析对象更新(总是9,但没有更多),当我运行这个javascript解析云代码