簡體   English   中英

在Firefox擴展中注入動態腳本

[英]Inject dynamic script in Firefox extension

我現在正在做擴展,我有一部分腳本是靜態的(永遠不會改變),另一部分是從網站加載的。 而且,我看到了兩種方式:

  1. 用XMLHttpRequest加載並注入網頁
  2. 將其作為<script src="example.com/myscript.js"></script>並使其自身加載

但是,第二種方式可能無法訪問我的擴展API(只能訪問擴展文件中定義的功能,即chrome://myext/script.js

而且,第一種方法可能是不安全的,因為我必須評估gBrowser.contentWindow.wrappedJSObject對象中的代碼,該對象是已加載頁面的Window對象

有任何想法嗎?

您是在說要動態腳本具有chrome特權嗎? 如果是這樣,為什么不使用XMLHttpRequest加載它,將其保存到磁盤,然后將其作為JavaScript模塊(https://developer.mozilla.org/en/JavaScript_code_modules/Using)導入。 顯然,出於安全方面的考慮,因為您是從Web授予腳本無限特權的,但是,如果您控制腳本的源代碼,那么可能還可以。 如果您真的很擔心,可以使用HTTPS下載腳本,這樣可以防止有人攔截流量。

如果您希望代碼以內容特權運行,但可以訪問chrome JavaScript中的函數,那么您可能想按本文中所述將chrome函數公開給內容: http : //weblogs.mozillazine.org/weirdal/archives /017188.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM