Google chrome 控制鼠标/关键字的Chrome扩展
由于存在安全隐患,因此无法在JavaScript中执行此操作。是否有其他类型的Google扩展/开发API允许我在Chrome上执行此操作?是的,有一个指针锁定API来控制鼠标,请检查此代码作为指针锁定API的参考 示范 转到并单击Google的徽标,从中您可以自定义此代码以控制鼠标移动和动作 manifest.json 添加内容脚本并放置该页面的所有权限Google chrome 控制鼠标/关键字的Chrome扩展,google-chrome,google-chrome-extension,google-chrome-devtools,Google Chrome,Google Chrome Extension,Google Chrome Devtools,由于存在安全隐患,因此无法在JavaScript中执行此操作。是否有其他类型的Google扩展/开发API允许我在Chrome上执行此操作?是的,有一个指针锁定API来控制鼠标,请检查此代码作为指针锁定API的参考 示范 转到并单击Google的徽标,从中您可以自定义此代码以控制鼠标移动和动作 manifest.json 添加内容脚本并放置该页面的所有权限 { "name":"Pointer Lock", "description":"http://stackoverflow.c
{
"name":"Pointer Lock",
"description":"http://stackoverflow.com/questions/14896728/chrome-extension-to-control-mouse-keyword",
"version":"1",
"manifest_version":2,
"content_scripts": [
{
"matches": ["http://www.google.co.in/"],
"js": ["myscript.js"]
}
],
"permissions":["<all_urls>"]
}
参考文献
//Check whether browser supports locking or not
var havePointerLock = 'webkitPointerLockElement' in document;
//Get some random element in http://www.google.co.in/ page
var element = document.getElementById("hplogo");
//Bind an event Listener
element.addEventListener("click", function () {
if (havePointerLock) {
// Ask the browser to lock the pointer
element.requestPointerLock = element.webkitRequestPointerLock;
element.requestPointerLock();
//Register lock change callback
document.addEventListener('webkitpointerlockchange', changeCallback, false);
//Register callback for all errors
document.addEventListener('webkitpointerlockerror', errorCallback, false);
} else {
alert("Your browser does not support Pointer Lock, Please Upgrade it");
}
});
function moveCallback(e) {
//Track all mouse movements
console.log("Mouse Moved ...");
console.log(e.webkitMovementX);
console.log(e.webkitMovementY);
}
function changeCallback() {
//Check for element whether locked is expected element or not
if (document.webkitPointerLockElement == element) {
// Pointer was just locked
// Enable the mousemove listener
document.addEventListener("mousemove", moveCallback, false);
} else {
// Pointer was just unlocked
// Disable the mousemove listener
document.removeEventListener("mousemove", moveCallback, false);
}
}
function errorCallback(e) {
//Log Errors
console.log(e);
}