Onkeydown在某些网站上有效,而在某些网站上则不然
onkeydown works on some websites and on some it doesn't
我正在尝试为gmail设置一些键盘快捷键。我使用篡改猴子和onkeydown功能。我发现Gmail是一个特殊的网站,因为我发现这种方法在许多网站上都有效,但在Gmail上不起作用。我尝试了这 3 个选项,但没有一个有效。你有什么建议?
// @match https://mail.google.com // ALL HAVE THIS LINE
选项 1
document.onkeydown = keydown;
function keydown(evt){
console.log("hhwhehehheeheh");
}
选项 2
document.documentElement.onkeydown = keydown;
function keydown(evt){
console.log("hhwhehehheeheh");
}
选项 3
document.body.focus();
document.documentElement.onkeydown = keydown;
function keydown(evt){
console.log("hhwhehehheeheh");
}
您的选项 1 是正确的,问题是模式:// @match https://mail.google.com
请改用以下模式:// @match https://mail.google.com/*
您的模式的问题在于仅适用于没有路径的https://mail.google.com
,但是从 gmail 中不提供内容https://mail.google.com
它始终使用路径的位置,例如 https://mail.google.com/mail/...
因此您必须向模式添加*
才能加载脚本。
在您的脚本中使用第二个@match
对我来说效果很好:
// ==UserScript==
// @name New Userscript
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match https://mail.google.com/*
// @grant none
// ==/UserScript==
/* jshint -W097 */
'use strict';
document.onkeydown = keydown;
function keydown(evt){
console.log("hhwhehehheeheh");
}
有关更多详细信息,请参阅@match
希望对您有所帮助,
相关文章:
- 如何识别我的网站中的慢速设备
- 用Javascript更改我网站上的字体大小
- 有任何可能将facebook实时信使整合到一个网站中
- 将电视直播频道从网站嵌入我的网站
- Windows 8固定的网站互动程序
- 门户网站:当地时间有多有用
- 正在删除node.js中已验证的网站
- 为什么在这个网站上不能通过JS访问元素
- 需要使用谷歌应用程序脚本列出谷歌域下的所有网站
- 为什么只有工厂在棱角分明的网站上被提及
- 从应用程序脚本检查谷歌网站访问权限
- 使用谷歌网站翻译器自动翻译网页
- 使用node.js制作网站
- 谷歌如何确定网站加载时间
- 带有url的单页网站导航
- Ajaxify Wordpress网站与社交插件
- 为什么可以't Protractor在自动初始化的Angular网站上查找Angular
- 在我的网站上显示最近提交的文章/图片
- 如何检测负责网站某些部分的JavaScript根文件
- Onkeydown在某些网站上有效,而在某些网站上则不然