按键循环未激活[Chrome扩展程序]

时间:2018-06-08 16:58:29

标签: javascript html if-statement content-script

因此,在我的内容脚本中,声明“currenturlval =='gmail'”的声明似乎根本没有运行。

var currenturlval;
var geturl = window.location.toString();
if (geturl.includes('twitter.')) {
    currenturlval = 'twitter';
} else if (geturl.includes('mail.google.')) {
    currenturlval = 'gmail';
    console.log(currenturlval);
} else if (geturl.includes('facebook.')) {
    currenturlval = 'facebook';
} else {
    currenturlval = 'default';
}
document.body.onkeydown = function(){
    if(connected == true) {
        keycurrent = keycurrent + 1;
        //initial react DOM render
        if (boolinitial == false) {
            renderOverlay();
            renderDropdown();
            boolinitial = true;
        }
        if (currenturlval == 'twitter') {
            var twitterinput = document.querySelector('[contenteditable]:focus > div');
            extractinputdata(twitterinput);
        } else if (currenturlval == 'gmail') {
            console.log("test");
            var gmailinput = document.querySelector('[aria-label="Message Body"][role="textbox"]');
            extractinputdata(gmailinput);
        }
        keycheck();
    }
};

控制台中没有弹出错误消息,此循环适用于其他站点(即twitter和facebook)。不确定为什么gmail不起作用。

1 个答案:

答案 0 :(得分:0)

<强>更新
好吧,downvote,公平,答案是不正确的,请忽略以前的答案。当google邮件打开时,第一个if循环的代码部分在控制台中正常工作。它记录了gmail&#39;。

我无法帮助第二部分,变量缺失并且无法复制。我猜错误在第二部分。

如果我记录:

var gmailinput = document.querySelector('[aria-label="Message Body"][role="textbox"]');

它返回NULL。

初步回答:
我不知道你想做什么,我错过了完全理解的背景,但我认为问题是因为这条线     (geturl.includes(&#39; mail.google。&#39;)){         currenturlval =&#39; gmail&#39 ;; 将其更改为     (geturl.includes(&#39; mail&#39;)){         currenturlval =&#39; gmail&#39;;