私はクロム拡張機能を作っています。この拡張機能の一部は、ページで onClick イベントをアクティブにするために、クリックをシミュレートできる必要があります。バックグラウンド スクリプトのコードは次のとおりです。
function checkForValidUrl(tabId, changeInfo, tab) {
// If the letter 'g' is found in the tab's URL...
if (tab.url.indexOf('maps') > -1 && tab.url.indexOf('google') > -1) {
// ... show the page action.
chrome.pageAction.show(tabId);
}
};
// Listen for any changes to the URL of any tab.
chrome.tabs.onUpdated.addListener(checkForValidUrl);
chrome.pageAction.onClicked.addListener(function() {
document.getElementById("paneltoggle2").click();
});
これは、Chrome の Java スクリプトのデバッグで表示されるエラー メッセージです。
Error in event handler for 'pageAction.onClicked': Cannot call method 'click' of null TypeError: Cannot call method 'click' of null
at chrome-extension://deogcaeekneeagffbhdlflichjlodlem/js/main.js:26:42
at chrome.Event.dispatchToListener (event_bindings:387:21)
at chrome.Event.dispatch_ (event_bindings:373:27)
at dispatchArgs (event_bindings:249:22)
at Object.chromeHidden.Event.dispatchEvent (event_bindings:257:7) event_bindings:377
chrome.Event.dispatch_ event_bindings:377
dispatchArgs event_bindings:249
chromeHidden.Event.dispatchEvent event_bindings:257
マニフェスト ファイルのアクセス許可と関係があると推測しています...現在、「タブ」へのアクセス許可しかありません。クリックをシミュレートしてエラーが発生しないようにするためにアクティブにする必要がある他の権限はありますか? ああ、私はバージョン 2 マニフェスト プロトコルでこれを可能にしようとしています。
ありがとう、レイナルド