2016-01-16 2 views
1

Я пытаюсь установить некоторые сочетания клавиш для gmail. Я использую функцию tampermonkey и onkeydown. Я узнал, что gmail - это специальный сайт, потому что я обнаружил, что на многих сайтах этот подход работает, но не на gmail. Я попробовал эти 3 варианта, но никто не работает. Что ты предлагаешь?onkeydown работает на некоторых сайтах, а на некоторых это не

// @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"); 
    } 
+0

Вариант 1 работал для меня. –

+0

Работала ли она в gmail явно? – brumbrum

+0

Да, это было ... –

ответ

1

Ваш вариант 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 для более подробной информации

Надеется, что это помогает,

Смежные вопросы