[问题] Content Script要如何拿到root document

楼主: leondemon (狗狗)   2016-09-30 16:58:50
我在开发浏览器套件,
利用 content script 来取得 HTML document 来注入一些 HTML elements
但是发现以下的 code 会注入到所有的 document,
包括页面中 iframe 的独立 HTML document:
```js
// @content_script.js
// 建立 HTML element
const elem = document.createElement('a');
elem.setAttribute('href', 'https://.....');
elem.innerHTML = 'ClickHere';
// 插入到 document.body 内
document.body.appendChild(elem);
```
以上 content script 代码会在每个 HTML document 加载时都会执行 (包括 iframe 内)
有什么方法能指加载到浏览器页面开的“根”HTML document 呢?
作者: mirtac (mirtac)   2016-09-30 17:11:00
那个浏览器的?
作者: mcmj5566 (美江五六)   2016-09-30 17:46:00
加载content_script时同时加载jquery,再指定第一个body看看?
作者: akccakcctw (947)   2016-09-30 18:26:00
支援度可以到caniuse查
作者: eight0 (欸XD)   2016-09-30 18:35:00
检查 window.top == window
作者: Ayukawayen (亚布里艾尔发芽>//<)   2016-09-30 18:39:00
content_scripts有all_frames属性 不过默认就是false
作者: YoyaKazuma (喰)   2016-09-30 18:43:00
我想讲的楼上已经讲了XD默认应该是不会加载 iframe 里才对 , 不知道是不是你另外加上去的
作者: Ayukawayen (亚布里艾尔发芽>//<)   2016-09-30 20:35:00
还真的是这个喔 我想说如果有设定到应该会想到才是 XD
楼主: leondemon (狗狗)   2016-09-30 22:23:00
XDDDD 人总是有犯蠢的时候... Orz

Links booklink

Contact Us: admin [ a t ] ucptt.com