通过 chrome 个选项卡发送鼠标移动
Sending mouse move through chrome tabs
我有这个代码:
chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) {
if (changeInfo.status === 'complete') {
var host = tab.url;
var reg = new RegExp("test", "gi");
if(reg.test(host)) {
chrome.tabs.executeScript(
tabId,{
code:"$(window).on('mousemove', function(e) {var posX = e.pageX;var posY = e.pageY;console.log(posX);console.log(posY);});"
},
function(results) {
});
}
}
});
如果我进入页面鼠标移动被捕获。在控制台中显示鼠标坐标。现在,我想将相同的鼠标坐标发送到另一个 chrome 选项卡。在另一个选项卡中,应该捕获鼠标坐标,上面的代码应该在控制台中显示 posX 和 poxY。求教一些做这件事需要注意什么函数、方法或者关键字。
没有服务器,您可以使用 Window.postMessage()
来完成此操作。 postMessages 允许两个 window objects 之间的通信。
所以在你的 parent window 中,你会得到类似这样的东西:
//Window-A.html
document.onmousemove = function (e) {mousePos(e);};
var mouseX = 0;
var mouseY = 0;
function mousePos (e) {
if (!mie) {
mouseX = e.pageX;
mouseY = e.pageY;
}
else {
mouseX = event.clientX + document.body.scrollLeft;
mouseY = event.clientY + document.body.scrollTop;
}
document.show.mouseXField.value = mouseX;
document.show.mouseYField.value = mouseY;
return true;
}
var newWindow = window.open(...);
newWindow.postMessage(`x: ${mouseX}, y: ${mouseY}`, '*');
然后在接收 window 中添加侦听器:
//Window-b.html
window.addEventListener("message", function (event) {
console.log(event.data); // will log out the values from the postMessage from Window-A.html
}, false);
我有这个代码:
chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) {
if (changeInfo.status === 'complete') {
var host = tab.url;
var reg = new RegExp("test", "gi");
if(reg.test(host)) {
chrome.tabs.executeScript(
tabId,{
code:"$(window).on('mousemove', function(e) {var posX = e.pageX;var posY = e.pageY;console.log(posX);console.log(posY);});"
},
function(results) {
});
}
}
});
如果我进入页面鼠标移动被捕获。在控制台中显示鼠标坐标。现在,我想将相同的鼠标坐标发送到另一个 chrome 选项卡。在另一个选项卡中,应该捕获鼠标坐标,上面的代码应该在控制台中显示 posX 和 poxY。求教一些做这件事需要注意什么函数、方法或者关键字。
没有服务器,您可以使用 Window.postMessage()
来完成此操作。 postMessages 允许两个 window objects 之间的通信。
所以在你的 parent window 中,你会得到类似这样的东西:
//Window-A.html
document.onmousemove = function (e) {mousePos(e);};
var mouseX = 0;
var mouseY = 0;
function mousePos (e) {
if (!mie) {
mouseX = e.pageX;
mouseY = e.pageY;
}
else {
mouseX = event.clientX + document.body.scrollLeft;
mouseY = event.clientY + document.body.scrollTop;
}
document.show.mouseXField.value = mouseX;
document.show.mouseYField.value = mouseY;
return true;
}
var newWindow = window.open(...);
newWindow.postMessage(`x: ${mouseX}, y: ${mouseY}`, '*');
然后在接收 window 中添加侦听器:
//Window-b.html
window.addEventListener("message", function (event) {
console.log(event.data); // will log out the values from the postMessage from Window-A.html
}, false);