Javascript “我可以在哪个浏览器中使用”;dispatchevent“;在“背景”选项卡中?

Javascript “我可以在哪个浏览器中使用”;dispatchevent“;在“背景”选项卡中?,javascript,google-chrome,firefox,tabs,dispatchevent,Javascript,Google Chrome,Firefox,Tabs,Dispatchevent,我在chrome的后台尝试了dispatchEvent,但没有成功。当我在firefox中尝试它时,它工作得很慢 我试着在相同的代码中firefox缓慢运行chrome也不起作用,我认为这与浏览器有关 如何撤销浏览器上的这些限制?或者你能推荐一个没有限制的浏览器吗 coordX=100//从屏幕左侧移动 coordY=100//在中心移动 //创建新的鼠标事件 ev=新的MouseEvent(“mousemove”{ 视图:窗口, 泡泡:是的, 可取消:对, 客户:coordX, 克莱蒂:库迪

我在chrome的后台尝试了dispatchEvent,但没有成功。当我在firefox中尝试它时,它工作得很慢

我试着在相同的代码中firefox缓慢运行chrome也不起作用,我认为这与浏览器有关

如何撤销浏览器上的这些限制?或者你能推荐一个没有限制的浏览器吗

coordX=100//从屏幕左侧移动
coordY=100//在中心移动
//创建新的鼠标事件
ev=新的MouseEvent(“mousemove”{
视图:窗口,
泡泡:是的,
可取消:对,
客户:coordX,
克莱蒂:库迪
});
window.document.querySelector(“#canvas”).dispatchEvent(ev);

您没有绑定事件侦听器,因此无法看到函数分派调用

有关更多信息,请查看mozilla网络[
coordX=100//从屏幕左侧移动
coordY=100//在中心移动
//创建新的鼠标事件
ev=新建鼠标事件(“单击”{
视图:窗口,
泡泡:是的,
可取消:对,
客户:coordX,
克莱蒂:库迪
});
var domEl=window.document.querySelector(“#canvas”)
domEl.addEventListener('click',函数(e){
设置超时(()=>{
警报(“成功:”+stringifyEvent(ev));
}, 5000);
},假);
函数dispatchcall(){
设置超时(()=>{
国内调度事件(ev);
}, 5000);
}
//**对于stringify事件对象**
函数stringifyEvent(e){
常量obj={};
for(让k代表e){
obj[k]=e[k];
}
返回JSON.stringify(obj,(k,v)=>{
if(v instanceof Node)返回'Node';
如果(v instanceof Window)返回“Window”;
返回v;
}, ' ');
}
document.getElementById(“myBtn”).addEventListener(“单击”,dispatchcall);
canvas鼠标单击dispatch事件后单击此处,然后等待5秒,如果您希望切换选项卡,请在5秒后返回

dispatch event
要了解哪些浏览器支持不同的API,您可以使用网站
caniuse.com


我的问题是,它在后台选项卡上不工作或延迟。这个问题的原因可能是settimeout。但它在chrome中不工作,但在firefox中工作得很晚。是否有一个库重新定义settimeout函数在后台运行?我对代码做了一些更改,现在我使用settimeout调用dispatch事件,如果您需要的话仍然面临问题,请分享更多工作代码。也许这会有帮助: