分享Chrome Extension(擴展程序/插件)開發的一些小經驗


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();
});


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM