Chrome扩展程序不允许获取请求

时间:2014-01-17 12:36:52

标签: google-chrome-extension get

我正在尝试创建我的第一个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请求时,它会短暂地闪烁,但它不会长时间保持足够长的时间来查看问题所在。)

如果有人能指出我正确的方向,我真的很感激!

1 个答案:

答案 0 :(得分:1)

由于 Content Security Policy 应用于扩展程序:

  

不会执行内联JavaScript。此限制禁止内联 块和内联事件处理程序(例如)。
  [...]
  必须使用 addEventListener 重写内联事件处理程序定义,并将其解压缩为 popup.js

有关详细信息,请查看 the docs