BrowserAction.onClicked等待iframe加载
BrowserAction.onClicked Wait for iframe to Load
我想单击扩展的浏览器操作,然后在滚动之前加载iframe。window.addeventlistener("load", scroll, false);
现在似乎是个问题。
我知道内容脚本会让window.addEventListener工作,但内容脚本也会一直注入脚本,我只想在点击浏览器动作图标时滚动。
我也知道删除window.addeventlistener("load", scroll, false);
可以使滚动工作,但这不会等到iframe加载后。请帮忙。
manifest.json
{
"manifest_version": 2,
"name": "scroll",
"description": "scroll",
"version": "1.0",
"browser_action": {
"default_icon": {
}
},
"background": {
"scripts" : ["background.js"],
"persistent" : false
},
"permissions": [
"tabs", "<all_urls>"
]
}
background.js
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(null, {file: "scroll.js"});
});
滚动.js
window.addEventListener("load", scroll, false);
function scroll (evt) {
window.scrollTo(0, 800);
}
您的代码可能执行得太晚(在load
事件之后)。
逻辑应该是:
- 检查页面是否已加载
- 如果是,立即执行
- 否则,请附加侦听器
document.readyState
履行职责:
function scroll(evt) {
window.scrollTo(0, 800);
}
if (document.readyState === "complete") {
scroll();
} else {
window.addEventListener("load", scroll, false);
}
相关文章:
- 使用php脚本验证访问者的年龄,并在不刷新的情况下根据结果加载iframe
- 使用Javascript(或jQuery)加载iframe内容
- Internet Explorer重新加载IFrame
- Fine Uploader-未收到来自已加载iframe的有效消息
- 使用本地生成的代码通过 JavaScript 加载 IFrame
- 加载iframe时激发的事件
- 动态渲染 .mht 文件,无需加载/iframe/嵌入
- 如何在选择列表项时重新加载iframe
- 如何使用JavaScript在iframe中重新加载iframe
- 在featherlight.js中延迟加载iFrame
- 实时在更改时重新加载iframe脚本
- 如何在不闪烁的情况下加载Iframe
- 如何按时间间隔重新加载Iframe内容,使其不会闪烁
- 设置 URL 以在 Django 模板中加载 iframe
- 在离开页面之前加载 iframe
- 加载 Iframe src,并从水平下拉菜单中进行选择
- 同时加载 iframe 并重置文档位置
- 单击按钮时重新加载 iframe 内容(本地 HTML)
- 单击元素时重新加载 iframe src
- 在可见时加载 iframe