为什么80%的码农都做不了架构师?>>>   

Chrome插件在高版本浏览器中安装报错解决技术

maybe yes 发表于2014-12-17 17:20

原文链接 : http://blog.lmlphp.com/archives/40  来自 : LMLPHP后院

去年过年前开发的Chrome浏览器插件,昨晚在我自己的笔记本上测试没有问题,今天来公司一安装就连续出现了很多的报错,下面将错误和解决方案记录如下,相信有不少的网友会碰到类似的问题。首次安装报错如下:

Could not load extension from 'G:\...'.
The manifest_version key must be present and set to 2 (without quotes).
See developer.chrome.com/extensions/manifestVersion.html for details.

上面的错误系插件版本过低,在高版本Chrome中需要在manifest文件中添加 manifest_version 配置项。

按照上面的提示在清单文件中增加了 "manifest_version": 2 配置项,又出现如下错误:

"manifest_version": 2, 尝试安装此扩展程序时出现以下警告:
'background_page' requires manifest version of 1 or lower.
Permission 'http://*' is unknown or URL pattern is malformed.
Permission 'https://*' is unknown or URL pattern is malformed.

上面的信息告诉我们,"background_page" 配置项必须在 manifest version 1 或以下版本;"Permission" 配置项里面的 'http://*' 和 'https://*' 是一个未知的或者该URL模式是畸形的。于是去除上面的配置项。

然后又出现问题了,Popup页面不能展示。在网上找了下资料,发现 manifest version 2 的 "browser_action" 配置项做了修改,名字由 "popup" 改为 "default_popup"。修改后问题解决。但是又出现了另外的问题,popup页面JS运行错误,所有功能都失效了。报错内容如下:

Refused to execute inline script because it violates the following Content
Security Policy directive: "script-src 'self' chrome-extension-resource:".

在网上找了下原因,是因为在 manifest version 2 里面不允许在 POPUP 页面写 JavaScript 脚本,脚本必须引用外部JS文件。于是将页面中的JS移动到外部文件后引用,最后问题解决。[引]Chrome扩展页面动态绑定JS事件提示错误,开发Chrome扩展时,页面的popup.html中需要js的时候,直接将JS写在动态绑定JS事件会提示错误。

下面附上 manifest 文件老版本和新版本的不同配置:

manifest version 1 or lower :{"name": "抢票插件第二代",  //程序名称"version": "1.0", //版本信息"description": "快速抢票",    //程序描述"background_page": "background.html", //这个html页面用来保存插件的主要逻辑"permissions": [ //权限设置,用来定义所需的网络信息,实现跨越"tabs", "http://*", "https://*", "notifications"],"browser_action": {    //浏览器行为"default_icon": "icon.png",  //在浏览器上的小图标"popup": "popup.html"    //点击上面的小图标后弹出的那个小窗口页面},"content_scripts": [{"matches": ["*://kyfw.12306.cn/otn/confirmPassenger/initDc*", "*://kyfw.12306.cn/otn/leftTicket/init*"],"js": ["Lib/jquery.min.js", "12306autoselected.user.js"],"run_at": "document_end"}]
}manifest version 2:{"name": "抢票插件第二代", //程序名称"version": "1.0", //版本信息"manifest_version": 2,"description": "快速抢票",    //程序描述// "background_page": "background.html",  //这个html页面用来保存插件的主要逻辑"permissions": [ //权限设置,用来定义所需的网络信息,实现跨越"tabs",  "notifications"],"browser_action": {    //浏览器行为"default_icon": "icon.png",  //在浏览器上的小图标"default_popup": "popup.html"    //点击上面的小图标后弹出的那个小窗口页面},"content_scripts": [{"matches": ["*://kyfw.12306.cn/otn/confirmPassenger/initDc*", "*://kyfw.12306.cn/otn/leftTicket/init*"],"js": ["Lib/jquery.min.js", "12306autoselected.user.js"],"run_at": "document_end"}]
}

阅(69)评(0)查看评论

转载于:https://my.oschina.net/hosser/blog/371732

【转载】Chrome插件在高版本浏览器中安装报错解决相关推荐

  1. Goole插件在高版本浏览器中安装报错解决技术

    manifest.json文件内容: { "name":"My First Extension", "version":"1.0& ...

  2. 在Chrome、Firefox等高版本浏览器中实现低延迟播放海康、大华RTSP

    一.背景 现在到处是摄像头的时代,随着带宽的不断提速和智能手机的普及催生出火热的网络直播行业,新冠病毒的大流行又使网络视频会议系统成为商务会议的必然选择,因此RTSP实时视频流播放及处理不再局限于安防 ...

  3. 低版本eclipse导入高版本eclipse创建项目报错问题

    例如用高版本eclipse创建的项目,会默认使用的是jdk1.8版本, 低版本eclipse创建项目,会默认使用的是jdk1.7版本. 此时导入高版本eclipse项目时会报错(文件夹中会出现红色!) ...

  4. MapBoxSDK导入高版本unity2020、2021报错ARBackgroundRenderer

    MapBoxSDK导入高版本unity2020.2021报错ARBackgroundRenderer 使用2020以上版本的unity会导致报错: 解决方案: 使用2020以上版本的unity会导致报 ...

  5. SpringBoot中@Email报错解决

    SpringBoot中@Email报错解决 JSR303校验相关 现象:在springboot中使用@Email注解进行数据校验时,报没有该注解的错误. 解决方法: 在pom.xml中加该配置 < ...

  6. python3.85在Windows10中安装报错Could not create system restore point, error: 0x80070422. Continuing...

    问题描述 python3.85在Windows10中安装报错Could not create system restore point, error: 0x80070422. Continuing- ...

  7. 运用Jupyter中的报错解决

    1.jupyter经常显示未连接 原因:tornado 6.0以上的版本不再支持python3,所以要换一个低的版本 pip install tornado==5.1.1 在下载过程中可能出现报错,是 ...

  8. idea安装及项目导入过程中pom报错解决办法

    1.idea安装可用破解版或者在淘宝上买正版账号(20多块钱一年,挺便宜的) 2.pom报错解决办法: 在项目导入过程中pom报错: 原因:相关jar包未下载完.(下载速度慢,因为下载的链接是国外的节 ...

  9. 这个 Chrome 插件,让你的 ChatGPT 不再报错

    ChatGPT的官网最近几天报错越来越频繁了,相信大家都发现了. 一旦你离开页面时间比较久,再度返回跟它进行对话,就会出现如下报错: 虽然这个报错信息以前也出现过,但现在的频率确实过高,对于每天需要使 ...

最新文章

  1. Linux下rgmii接口,zynq7010 petalinux 2019.2 RGMII via EMIO 连接问题
  2. 为.Text加了注册模块
  3. TortoiseSVN SendRpt.exe not found解决方案
  4. 什么叫碎片,碎片对io的影响以及什么叫物理顺序,什么叫逻辑
  5. 大多数日志文件的后缀名是_编程小短文:find,让你随心所欲查找整块磁盘的任意文件...
  6. 一个比较完美的spacer div技巧
  7. SPSS学习中涉及的统计知识
  8. apache 支持.htaccess重写url
  9. echarts.js:1136 Uncaught Error: Initialize failed: invalid dom.
  10. java运行时内存分配详解
  11. Android Camera 运行流程
  12. webWMS开发过程记录(三)- 需求分析(略)
  13. 抽象代数学习笔记二《群:群的例子》
  14. 浏览器安装Axure插件与配置
  15. 浙江大学【面板数据分析与STATA应用】——第一讲短面板数据分析
  16. 推荐交互设计师阅读的一本书
  17. Keep your Eyes on the Lane: Real-time Attention-guided Lane Detection
  18. Educoder-练习-Java循环综合练习四之日历打印
  19. 规则引擎Drools示例:个人所得税计算器、信用卡申请、保险产品准入规则
  20. 稿费一般多少钱一千字_为什么我在刊物发表文章会给稿费千字多少元不等,而网上却没有?...

热门文章

  1. dom节点操作(节点的创建与追加、删除与替换节点的方法。)
  2. 环境变量是什么?一看就懂
  3. Nordic如何将服务特征的UUID设置为128位?
  4. JavaScript经典案例:添加/删除元素类名
  5. OSChina 周五乱弹 —— 想不想把92年的萝莉退货
  6. 【期货龙虎榜分析】PVC沪铝价格靠近新高,短纤空头席位主动出击
  7. linux centos7 redhat7 怎么设置开机自动进入命令行模式
  8. 电子商务商城源码 Spring Cloud、Spring Boot、Mybatis、Redis
  9. 手机游戏市场分析-3G手机开发公开课-东方尚智,3g数字内容学院
  10. 基于字符串模式匹配算法的病毒感染检测问题(KMP算法)