无法使用Chrome扩展程序中的内容脚本在活动网页上触发事件

问题描述 投票:0回答:1

我正在尝试通过Chrome扩展程序的内容脚本在活动网页上触发点击事件。尽管代码已注入到网页中,并且代码中的警报语句为我提供了结果,但是click事件无法触发现有的侦听器事件,因此无法获得预期的效果。

以下是我要注入的内容脚本代码:

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);

如上所述,警报和控制台消息正在按预期方式打印。但是click事件不会触发,并且eventReturn值为true。

这是因为某些事件传播被阻止了吗?

javascript google-chrome-extension
1个回答
0
投票

功能triggerEvent(el,类型){var e = document.createEvent('HTMLEvents');e.initEvent(type,false,true);

el.dispatchEvent(e);}

triggerEvent(listOfSuperBlocks[6],"mousedown")
© www.soinside.com 2019 - 2024. All rights reserved.