5

シンプルなサファリアプリ拡張機能を構築しようとしています。about:blank拡張機能の resources フォルダーから html ページをロードします。以下はそのためのコードです。

//script.js - injected script
if(window.location.href=="about:blank"){
    window.location.href = safari.extension.baseURI + "page.html";
}

このロードされたページとサファリアプリの間の通信が必要です。どうやら挿入されたスクリプトscript.jsは、読み込まれた html ページでは使用できません

script.jsをhtml ページ インラインにリンクしようとしましたが、 オブジェクト自体をまたはsafariで使用できません。safari.extension.dispatchMessagesafari.self.addEventListener

編集:
これ (挿入されたスクリプト script.js は、読み込まれた html ページ/ページが読み込まれたタブでは使用できません) リソース タブで Web インスペクターを開くと、何も表示されないことを意味しますextension scripts

4

4 に答える 4

0

ページを safari-extensions:// url に "再配置" することはできませんが、Safari アプリ拡張機能から表示する HTML コードを取得し (メッセージングを使用)、そのコードを about:blank ページに挿入します。ページの URL が about:blank のままであることを除いて、結果は同じになります。

于 2018-09-28T12:40:31.180 に答える