前提・実現したいこと
Chromeの拡張機能を作成しています。
ページロード時に現在のURLを取得し、アラートで表示するという仕様です。
発生している問題・エラーメッセージ
F5による画面更新では意図した動作をしてくれますが、
画面遷移をした場合はアラートが表示されません。
画面遷移ではcontent.jsがキックされないようです。
manifest.json
{ "name": "name", "version": "1.0.0", "manifest_version": 2, "description": "detail", "content_scripts": [{ "matches": [ "<all_urls>" ],"js": ["jquery-3.2.1.min.js","content.js"]}], "permissions": [ "<all_urls>", "tabs", "webNavigation" ] }
content.js
window.onload = function() { alert(location.href); }
試したこと
background.jsを作成し、URLの変更をトリガーに動かそうとしました。
background側ではページのDOM取得ができないみたいで、URLが取得出来ません。
なのでbackground側でcontent.jsを叩きたいのですが、
jsファイルをキックするような記述方法が見つかりませんでした。
background側でcontent.jsがキック出来れば、この問題は解決します。
【追記】
chrome.webNavigation.onHistoryStateUpdated.addListener(() => { chrome.tabs.executeScript({file: "content.js"}); });
background.jsに上記のような記述をすれば、
js自体はキックできてそうなんですが、content.jsのonloadが走りません。
訳あってonloadで作成しなければなりません。
あなたの回答
tips
プレビュー