javascript - Google Chrome 扩展操作打开或当前选项卡的 DOM

标签 javascript jquery google-chrome google-chrome-extension

好的,JavaScript/jQuery 我明白了,我可以用它来做我想做的事情。然而,我目前正在尝试做的是使用打开/当前选项卡的 DOM,我想知道这是否可能,或者我使用扩展名所做的所有工作都仅限于我为它提供“背景”的 html。 html"或等效文件。

对于今天对谷歌扩展程序进行罢工的尝试,我想在页面上拍摄图像并将它们存储在数组中,以通过我想添加到页面底部的栏从中创建类似幻灯片的效果将其附加到打开/当前选项卡的现有 DOM。然后我想在 DOM 中“隐藏”元素,直到栏关闭。

所以我的第一个问题是,这样的事情是否可能,我能否以这种方式操作 DOM 并从中读取。

最佳答案

Content Scripts是在页面和 Chrome 扩展程序之间的环境中运行的脚本。这些脚本会在每次页面加载时加载,并且可以完全访问页面的 DOM。 DOM 方法,例如 document.getElementById() 的行为就好像它们是页面的一部分一样。

全局 window 对象(包括 framesHTMLIFrameElement.contentWindow )是唯一不能被内容脚本直接读取的对象。

内容脚本在每个页面上运行为 defined in the manifest file .指定 match pattern"content_scripts" 部分,定义内容脚本必须在哪些页面上运行。还将此模式添加到 “权限” 部分,以解锁修改页面 DOM 的能力。

注意:只有a few of the chrome.* APIs , 可以被这些脚本使用(例如 chrome.extension.sendRequestbackground page 通信)。


background page ,页面的 DOM 不可直接访问。您可以使用 chrome.extension.executeScript 在任意选项卡中注入(inject)脚本,但您将无法获得对元素的直接引用。为此,需要内容脚本。

关于javascript - Google Chrome 扩展操作打开或当前选项卡的 DOM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10066100/

相关文章:

javascript - for 循环和词法环境中的闭包

javascript - Chrome 用户代理不显示脚本 - CSS 修复?

javascript - 当我将 'console.log(err.message)' 放入 express 应用程序的错误处理程序中时,它会无休止地记录,但为什么呢?

javascript - 使用名称属性 jQuery 从下拉列表中获取选定的文本

javascript - 如何从jquery中的多个图标中调用图标?

jquery - 将包含脚本的外部 html 文件加载到另一个 div

javascript - Chrome 文件阅读器

android - 使用导航栏模拟移动设备的 Chrome 开发工具

javascript - 如何在 promise 中返回请求

javascript - 有没有办法使用分配的值从对象中提取特定的键名称?