Chrome扩展-如何在打开的选项卡上捕获滚动位置
Chrome Extension - How to capture Scroll Position on open tabs
我当前通过在内容脚本中运行它并注入JQuery来捕获选项卡上的滚动位置。
问题如何将滚动捕获应用于打开的所有选项卡,而不仅仅是我所在的当前选项卡?我在下面的尝试只适用于当前选项卡。
不确定如何在所有选项卡上迭代for循环,因为无法访问内容脚本中的chrome.tabs API。通过不断跟踪滚动捕获,我是否错误地处理了这个问题,并且应该使用background.js仅在特定事件上调用content_script函数?
谢谢!
manifest.json
{
"manifest_version": 2,
"name": "ScrollPosition",
"version": "1.0",
"background": {
"page": "background.html"
},
"content_scripts": [
{ "matches": ["http://*/*", "https://*/*"],
"js": ["jquery-1.11.1.min.js","content_script.js"]}
],
"browser_action": {
"default_icon": {
"19": "images/icon19.png",
"38": "images/icon38.png"
},
"default_popup": "popup.html"
},
"permissions": [
"tabs",
"windows",
"<all_urls>",
"chrome://favicon/",
]
}
content_script.js
var scrollPosition = 0;
function scrollPos() {
$(document).scroll(function(){
scrollPosition = $(this).scrollTop();
console.log('your scroll position is: '+scrollPosition);
});
};
window.addEventListener("load", scrollPos);
您可以使用后台脚本迭代所有选项卡并注入自定义脚本。您可以使用chrome.tabs.query迭代后台页面中的所有选项卡。您可以使用chrome.tabs.executeScript将脚本注入选项卡。现在,您只需要从内容脚本向后台脚本发送一条消息,就可以开始了。
相关文章:
- 当选择值x时,Javascript需要在正确的位置显示文本区域,从而循环通过具有选择选项的表单
- 更改Chrome扩展中的选项卡位置
- 谷歌地图点击链接/选项卡更改标记位置地图
- 保留选项后的滚动位置(单击时)
- 为什么首先单击文档空白处的任何位置启动代码,而不是单击超链接,以及为什么打开了太多选项卡
- 在jquery插件中定义选项的正确位置
- 从Web应用程序发送地理位置,即使选项卡不在焦点上
- Angularjs select:如何获取所选项目的位置并设置默认选择
- 使用 JavaScript 更改选项的位置
- 通过火狐扩展在特定位置打开选项卡
- 使用页面上其他位置的链接激活选项卡
- 根据滚动位置更新选择菜单中的选定选项
- 画布的奇怪行为 上下文变量定义位置导致选项卡处于非活动状态时画布呈现冻结
- 如何检测选项卡的激活位置
- 保存文件选项,用于将html文件保存在系统中的给定位置
- 在 Firefox 中,当选择具有位置和 z 索引时,为什么更改事件不会在选项卡上触发
- 谷歌地图API v3可拖动光标选项,如位置
- 窗口位置 在新选项卡中打开
- 需要找到我的单选选项已检查值更改的位置
- 在窗口后预选择HTML选择选项.位置重定向