【转载】Chrome插件在高版本浏览器中安装报错解决
为什么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插件在高版本浏览器中安装报错解决相关推荐
- Goole插件在高版本浏览器中安装报错解决技术
manifest.json文件内容: { "name":"My First Extension", "version":"1.0& ...
- 在Chrome、Firefox等高版本浏览器中实现低延迟播放海康、大华RTSP
一.背景 现在到处是摄像头的时代,随着带宽的不断提速和智能手机的普及催生出火热的网络直播行业,新冠病毒的大流行又使网络视频会议系统成为商务会议的必然选择,因此RTSP实时视频流播放及处理不再局限于安防 ...
- 低版本eclipse导入高版本eclipse创建项目报错问题
例如用高版本eclipse创建的项目,会默认使用的是jdk1.8版本, 低版本eclipse创建项目,会默认使用的是jdk1.7版本. 此时导入高版本eclipse项目时会报错(文件夹中会出现红色!) ...
- MapBoxSDK导入高版本unity2020、2021报错ARBackgroundRenderer
MapBoxSDK导入高版本unity2020.2021报错ARBackgroundRenderer 使用2020以上版本的unity会导致报错: 解决方案: 使用2020以上版本的unity会导致报 ...
- SpringBoot中@Email报错解决
SpringBoot中@Email报错解决 JSR303校验相关 现象:在springboot中使用@Email注解进行数据校验时,报没有该注解的错误. 解决方法: 在pom.xml中加该配置 < ...
- python3.85在Windows10中安装报错Could not create system restore point, error: 0x80070422. Continuing...
问题描述 python3.85在Windows10中安装报错Could not create system restore point, error: 0x80070422. Continuing- ...
- 运用Jupyter中的报错解决
1.jupyter经常显示未连接 原因:tornado 6.0以上的版本不再支持python3,所以要换一个低的版本 pip install tornado==5.1.1 在下载过程中可能出现报错,是 ...
- idea安装及项目导入过程中pom报错解决办法
1.idea安装可用破解版或者在淘宝上买正版账号(20多块钱一年,挺便宜的) 2.pom报错解决办法: 在项目导入过程中pom报错: 原因:相关jar包未下载完.(下载速度慢,因为下载的链接是国外的节 ...
- 这个 Chrome 插件,让你的 ChatGPT 不再报错
ChatGPT的官网最近几天报错越来越频繁了,相信大家都发现了. 一旦你离开页面时间比较久,再度返回跟它进行对话,就会出现如下报错: 虽然这个报错信息以前也出现过,但现在的频率确实过高,对于每天需要使 ...
最新文章
- Linux下rgmii接口,zynq7010 petalinux 2019.2 RGMII via EMIO 连接问题
- 为.Text加了注册模块
- TortoiseSVN SendRpt.exe not found解决方案
- 什么叫碎片,碎片对io的影响以及什么叫物理顺序,什么叫逻辑
- 大多数日志文件的后缀名是_编程小短文:find,让你随心所欲查找整块磁盘的任意文件...
- 一个比较完美的spacer div技巧
- SPSS学习中涉及的统计知识
- apache 支持.htaccess重写url
- echarts.js:1136 Uncaught Error: Initialize failed: invalid dom.
- java运行时内存分配详解
- Android Camera 运行流程
- webWMS开发过程记录(三)- 需求分析(略)
- 抽象代数学习笔记二《群:群的例子》
- 浏览器安装Axure插件与配置
- 浙江大学【面板数据分析与STATA应用】——第一讲短面板数据分析
- 推荐交互设计师阅读的一本书
- Keep your Eyes on the Lane: Real-time Attention-guided Lane Detection
- Educoder-练习-Java循环综合练习四之日历打印
- 规则引擎Drools示例:个人所得税计算器、信用卡申请、保险产品准入规则
- 稿费一般多少钱一千字_为什么我在刊物发表文章会给稿费千字多少元不等,而网上却没有?...
热门文章
- dom节点操作(节点的创建与追加、删除与替换节点的方法。)
- 环境变量是什么?一看就懂
- Nordic如何将服务特征的UUID设置为128位?
- JavaScript经典案例:添加/删除元素类名
- OSChina 周五乱弹 —— 想不想把92年的萝莉退货
- 【期货龙虎榜分析】PVC沪铝价格靠近新高,短纤空头席位主动出击
- linux centos7 redhat7 怎么设置开机自动进入命令行模式
- 电子商务商城源码 Spring Cloud、Spring Boot、Mybatis、Redis
- 手机游戏市场分析-3G手机开发公开课-东方尚智,3g数字内容学院
- 基于字符串模式匹配算法的病毒感染检测问题(KMP算法)