栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Chrome扩展程序-从网页检索全局变量

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Chrome扩展程序-从网页检索全局变量

内容脚本在隔离的环境中运行。要访问(页面的

window
)任何全局属性,您必须注入一个新
<script>
元素,或使用事件侦听器来传递数据。

有关在页面上下文中注入元素的示例,请参见此答案

<script>

contentscript.js

"run_at": "document_end"
清单中):

var s = document.createElement('script');s.src = chrome.extension.getURL('script.js');(document.head||document.documentElement).appendChild(s);s.onload = function() {    s.remove();};// Event listenerdocument.addEventListener('RW759_connectExtension', function(e) {    // e.detail contains the transferred data (can be anything, ranging    // from Javascript objects to strings).    // Do something, for example:    alert(e.detail);});

script.js
-位于扩展目录中,这将被注入页面本身:

setTimeout(function() {        document.dispatchEvent(new CustomEvent('RW759_connectExtension', {        detail: GLOBALS // Some variable from Gmail.    }));}, 0);

由于此文件是通过DOM中的chrome-extension:URL加载的,因此必须将“
script.js”添加到清单文件的web_accessible_resources部分。否则,Chrome将拒绝加载脚本文件。

您应该在网页中运行尽可能少的逻辑,并在内容脚本中处理大部分逻辑。这有多个原因。首先,页面中注入的任何脚本都在与网页相同的上下文中运行,因此,网页可以(有意或无意)修改Javascript
/ DOM方法,以使扩展程序停止工作。其次,内容脚本可以访问其他功能,例如chrome。*
API的有限子集和跨域网络请求(前提是扩展程序已声明了这些功能的许可)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/575054.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号