Google Chrome扩展程序操纵打开或当前标签的DOM

chr*_*ris 16 javascript jquery google-chrome google-chrome-extension

好的,JavaScript/jQuery我得到了,我可以用它来做我想要的一般.然而,我目前正在尝试做的是使用开放/当前选项卡的DOM,我想知道这是否可能,或者是我所做的所有工作我的扩展仅限于html我提供了"背景". HTML"或等效的.

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

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

Rob*_*b W 29

内容脚本是在页面和Chrome扩展程序之间的环境中运行的脚本.这些脚本在每个页面加载时加载,并具有页面 DOM的完全访问权限.DOM方法,例如document.getElementById()表现为它们是页面的一部分.

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

内容脚本在清单文件中定义的每个页面上运行.在该部分指定匹配模式"content_scripts",以定义内容脚本必须在哪些页面上运行.同时将此模式添加到该"permissions"部分,以解锁修改页面DOM的功能.

注意:这些脚本只能使用少数chrome.*API(例如chrome.extension.sendRequest后台页面进行通信).


后台页面中,页面的DOM无法直接访问.您可以使用任意选项卡注入脚本chrome.extension.executeScript,但无法直接引用元素.为此,需要内容脚本.

  • @PAEz`console.log(document.styleSheets [1] .cssRules [0] .selectorText);`显示内容脚本和普通页面的相同结果(当样式表来自不同的原点时,总是返回`null`) . (3认同)