1、不通過Chrome Web Store直接安裝Chrome插件(Extension)
我們之前開發網摘Chrome插件時,不需要通過Chrome Web Store,直接在網站上提供網摘插件的鏈接,用戶點擊就可以安裝。后來,Chrome改為必須通過Web Store才能安裝插件。
我們找到了一個Hack的方法,在Chrome Extensions窗口,直接將下載至本地的網摘插件文件拖動到Extensions窗口即可。
2、引用外部javascript文件的問題
如果在Extenstion中引用了外部的js文件,會引發這樣的錯誤:
Refused to load the script 'https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js' because it violates the following Content Security Policy directive: "script-src 'self'".
解決方法:在manifest.json中添加如下的代碼(假設我們這里引用的是ajax.googleapis.com的js):
"content_security_policy": "script-src 'self' https://ajax.googleapis.com; object-src 'self'",
3、不支持inline javascript代碼的問題
從Chrome Extenstion V2開始,不允許執行任何inline javascript代碼(也就是html內的任何js代碼都不允許執行),比如下面的代碼:
<input type="submit" name="btn_submit" value="收藏" id="btn_submit" class="btn_submit" onclick="addwz()"/>
onclick中的addwz()函數不允許執行,點擊時會報錯:
Refused to execute inline event handler because it violates the following Content Security Policy directive: "script-src 'self' https://ajax.googleapis.com".
解決方法:在內部引用的js文件中綁定事件,示例代碼如下:
$('#btn_submit').click(function () { addwz(); });