javascript扩展名src-script被阻止

时间:2017-11-26 11:29:29

标签: javascript

我想创建将我重定向到handler:query的扩展名, 这是我的代码:

maniefst.json

  public Boolean getId(String id) {
   boolean rValue = false;
    String selectQuery = "SELECT * FROM "  + TABLE_NAME + " where "+ COL_1 +" = ? " ;

    SQLiteDatabase db = this.getReadableDatabase();
    Cursor c = db.rawQuery(selectQuery, new String[]{id});


    if (c.moveToFirst()) {
        do {
            // Data Is Exist;
            rValue = true;
        } while (c.moveToNext());
    }

    db.close();
    c.close();

    return rValue;

}

background.html

many things,
"content_security_policy": "default-src * ;script-src 'self' 'unsafe-eval' ;object-src 'self' 'unsafe-eval'"
}

但是在调试扩展时,我收到错误:

    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <script type="text/javascript" src="background.js"></script>
    </head>
    <body>
    <button id="bttn1" onclick="search()">Search!</button>
    </body>
    </html>

我该怎么办才能解决这个问题? 我的浏览器是Firefox Developer Edition 58.0b6(64位)

1 个答案:

答案 0 :(得分:0)

Firefox应用了default Content Security Policy to extensions,它禁止使用内联JavaScript。

您可以:

  • onclick="search()"文件中addEventListener代替HTML中的.js内嵌。
  • 将内联脚本的哈希添加到扩展程序的内容安全策略中。

对于后一种方法,请对您的内联脚本进行哈希处理。例如,您的是search()。在线有一个方便的tool for this at ReportURI。像这样将哈希插入manifest.json中:

"content_security_policy": "script-src 'self' 'sha256-55C+spmnlCUR5KgSippSbxcEepdItE3dLSUgcw1if/U='; object-src 'self';",