私は、アプリケーションから角度とイオンのWebExtensionを実現しようとしています。 アプリケーションが拡張機能で読み込まれ、コンテンツスクリプトとバックグラウンドスクリプトの間でメッセージを送信できますが、TypeScriptコードは解釈されず、アプリケーションの変数にデータを格納できません。 AngularアプリケーションでWebページのコンテンツを取得したいと思います。 私を助けてもらえますか?それが技術的に可能かどうか知っていますか?私はあなたの応答に感謝します。角型と型スクリプトを使ってWebExtensionを構築する
manifest.jsonを:
{
"manifest_version": 2,
//[...]
"background": {
"page": "index.html#/background"
},
"content_scripts":
[{
"matches" : ["<all_urls>"],
"js": ["content_script.js"]
}]
}
content_script.js:
browser.runtime.sendMessage({url: location.href});
背景スクリプト(角):
ngOnInit() {
var browser = browser || chrome;
browser.runtime.onMessage.addListener(this.showMessage);
}
public url: string;
showMessage(message) {
alert(message.url); // It works
this.url = message.url;
alert(this.url); // Doesn't work
}
あなたはすべてのエラーを取得するのですか? – toskv
いいえ、私はエラーがありません。アプリケーションのサービスを呼び出すことができないため、私のアプリケーションはAngularJSアプリケーションとして解釈されません。 この例では、message.urlは情報を適切に取得しますが、別の変数に格納するとすぐには機能しません:this.url = message.url; 次の設定(manifest.json)では、私のAngularJSアプリケーションは拡張機能のポップアップに非常によく表示されますが、私がしようとしているのは、このアプリケーションをバックグラウンドで実行して、ポップアップでデータを再利用できるようにすることです。 "browser_action":{ "default_popup": "index.html" – STK913
"エラー:これは未定義です" – STK913