Trelloボードで実行したいChrome拡張コンテンツスクリプトがあります。今のところ、次のものだけが含まれています。
console.log("Hello, world!");
[マイボード]ページなどの内部リンクからTrelloボードページを開くと、コンテンツスクリプトは実行されません。ただし、ページを更新した後に実行されます。
私のマニフェストファイルには次のものが含まれています。
{
"manifest_version": 2,
"name": "Temp Ext",
"version": "1.0",
"content_scripts": [
{
"matches": ["*://trello.com/b/*"],
"js":["contentscript.js"]
}
]
}
ページが最初に読み込まれたときにスクリプトが実行されない理由を誰かが理解するのを手伝ってもらえますか?
編集:質問を修正しました。問題は内部リンクをたどった後にのみ発生し、リンクは発生しませんでした。
問題は、Trelloがページ遷移にHTML5のpushStateを使用するため、ボードが開かれた後にコンテンツスクリプトが常に実行されるとは限らないことでした。
解決
マニフェストの変更:
{
"manifest_version": 2,
"name": "Temp Ext",
"version": "1.1",
"content_scripts": [{
"matches": ["*://trello.com/*"],
"js":["contentscript.js"]
}],
"background": {
"scripts": ["background.js"]
},
"permissions": [
"*://trello.com/*", "tabs", "webNavigation"
]
}
バックグラウンドスクリプトを追加します。
chrome.webNavigation.onHistoryStateUpdated.addListener(function(details) {
chrome.tabs.executeScript(null,{file:"contentscript.js"});
});
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加