[英]Loop not activating on keypress [Chrome Extension]
因此,在我的內容腳本中,where語句“ 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不起作用。
更新資料
好的,不滿意,很公平,答案不正確,請忽略先前的答案。 當Google郵件打開時,第一個if循環的代碼部分在控制台中可以正常工作。 它記錄“ gmail”。
我不能幫助第二部分,變量丟失並且無法重現。 我猜這是第二部分的錯誤。
如果我登錄:
var gmailinput = document.querySelector('[aria-label="Message Body"][role="textbox"]');
它返回NULL。
初步答案:
我不知道您想做什么,但我想了解的上下文仍不完整,但是我認為問題是因為這一行(geturl.includes('mail.google。')){currenturlval ='gmail'; 將其更改為(geturl.includes('mail')){currenturlval ='gmail';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.