2016-01-16 70 views
1

我正在嘗試爲gmail設置一些鍵盤快捷鍵。我使用篡改鍵和onkeydown函數。我發現gmail是一個特殊的網站,因爲我發現在許多網站上這種方法可行,但在gmail上不行。我嘗試了這3個選項,但都沒有成功。你有什麼建議?onkeydown在一些網站上工作,有些則不是

// @match  https://mail.google.com // ALL HAVE THIS LINE 

OPTION 1

document.onkeydown = keydown; 
    function keydown(evt){ 
       console.log("hhwhehehheeheh"); 
    } 

OPTION 2

document.documentElement.onkeydown = keydown; 
    function keydown(evt){ 
       console.log("hhwhehehheeheh"); 
    } 

OPTION 3

document.body.focus(); 
    document.documentElement.onkeydown = keydown; 
    function keydown(evt){ 
       console.log("hhwhehehheeheh"); 
    } 
+0

選項1爲我工作。 –

+0

它明確在gmail中工作嗎? – brumbrum

+0

是的,它確實.... –

回答

1

你的選項1是正確的,但問題是該圖案:// @match https://mail.google.com

使用,而不是追蹤圖形:// @match https://mail.google.com/*

使用圖案的問題是,只能從Gmail中的內容並非來自https://mail.google.com擔任它總是使用位置與路徑一樣https://mail.google.com/mail/...但適合用於https://mail.google.com沒有路,所以你必須將*添加到該模式才能加載您的腳本。

使用第二個@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

相關問題