簡體   English   中英

無法使用 chrome 擴展中的內容腳本觸發活動網頁上的事件

[英]Not able to trigger events on the active webpage using content scripts in a chrome extension

我正在嘗試通過 Chrome 擴展程序的內容腳本在活動網頁上觸發點擊事件。 雖然代碼被注入 web 頁面並且代碼中的警報語句給了我結果,但單擊事件無法觸發現有的偵聽器事件,我無法獲得預期的效果。

以下是我要注入的內容腳本代碼:

var script = "var x = document.getElementsByClassName('map-ui');\
              var listOfSuperBlocks = x[0].getElementsByClassName('superblock');\
              alert('Alert gets triggered in the main page');\
              console.log('This gets printed');\
              var eventReturn = listOfSuperBlocks[6].dispatchEvent(new MouseEvent('click'));\
              console.log('No click event gets triggerd in main page. Value of eventReturn is true');\
              alert('This alert also gets triggerd');";

var scriptElement = document.createElement("script");
scriptElement.innerHTML = script;

document.head.appendChild(scriptElement);

如前所述,警報和控制台消息按預期打印。 但是沒有觸發點擊事件,並且 eventReturn 值為 true。

這是因為某些事件傳播被阻止了嗎?

function triggerEvent(el, type){
var e = document.createEvent('HTMLEvents'); e.initEvent(類型,假,真);

el.dispatchEvent(e);
}

triggerEvent(listOfSuperBlocks[6],"mousedown")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM