我正在尝试创建我的第一个chrome扩展程序。基本上我有一个简单的html页面和一些我用来允许用户输入一些数据的javascript,脚本会正确格式化然后输出它:
<form>
MAC ADDRESS: <input type="text" id="mac" name="macAddress" maxlength="17" >
<button onclick="convert(); return false;">Convert</button>
</form>
使用Javascript:
function convert() {
var mac = document.getElementById('mac').value; //get string
var mac2 = mac.replace(/\:|-/g,""); //remove colons and dashes
//
//add fullstops after every 4th character, appart from last character.
//
mac2 = mac2.replace(/(.{4})(?!$)/g , '$1.');
//output string
document.getElementById("outputDiv").innerHTML= mac2;
};
我的问题是虽然这作为普通网页工作正常,但当我尝试将其作为扩展程序实现时,get方法在同一页面上无效。
我已经按照谷歌网站上的教程进行了扩展,但它似乎无法处理获取请求。我尝试使用我在这里找到的不同建议修改清单文件,但仍然没有成功。
当我尝试调试时,控制台中没有任何东西(当我提交get请求时,它会短暂地闪烁,但它不会长时间保持足够长的时间来查看问题所在。)
如果有人能指出我正确的方向,我真的很感激!
答案 0 :(得分:1)
由于 Content Security Policy 应用于扩展程序:
不会执行内联JavaScript。此限制禁止内联 块和内联事件处理程序(例如)。
[...]
必须使用 addEventListener 重写内联事件处理程序定义,并将其解压缩为 popup.js 。
有关详细信息,请查看 the docs 。