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

Chrome扩展程序代码vs内容脚本vs注入脚本

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

Chrome扩展程序代码vs内容脚本vs注入脚本

Chrome扩展程序中的Javascript代码可以分为以下几类:

  • 扩展代码-完全访问所有允许的

    chrome.*
    API。
    这包括背景页面,以及可以直接通过它访问的所有页面,例如浏览器弹出窗口。

  • 内容脚本 (通过清单文件或

    chrome.tabs.executescript
    )- 部分访问某些
    chrome
    API
    ,完全访问页面DOM( 访问任何
    window
    对象,包括框架)。
    内容脚本在扩展名和页面之间的范围内运行。
    window
    内容脚本的全局对象不同于页面/扩展名的全局名称空间。

  • 注入的脚本(通过Content脚本中的此方法-完全访问页面中的所有属性。 无法访问任何

    chrome.*
    API。
    注入的脚本的行为就像页面本身包含的一样,并且不以任何方式连接到扩展。


在您的情况下,

chrome.tabs.onUpdated
可能会在
script.js
评估内容脚本之前调用后台页面()中的代码。因此,您会得到一个
ReferenceError
,因为
init
不是。

另外,在使用时

chrome.tabs.onUpdated
,请确保测试页面是否已完全加载,因为该事件会触发两次:加载前和完成时:

//background.htmlchrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {    if (changeInfo.status == 'complete') {        // Execute some script when the page is fully (DOM) ready        chrome.tabs.executescript(null, {pre:"init();"});    }});


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

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

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