0

我希望有人能帮助我解决这个问题。

我有一个用于 chrome 控制台的后续脚本,它在过去几天运行良好,但是今天运行它我开始收到此错误(如下)。如果有人可以帮助我解决代码问题,我将不胜感激,代码和错误附在下面。提前感谢您的帮助。

var jq = document.createElement('script');
jq.src = "//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"; //Loads JavaScript
document.getElementsByTagName('head')[0].appendChild(jq);
jQuery.noConflict()

window.setInterval(function(){
var x = 0;
$("button:contains('Follow')").each(
function(){ if($(this).text()=="Follow"){
if(x==2) return false; 
$(this).trigger("click");
$('._4gt3b').scrollTop($('._4gt3b')[0].scrollHeight);
x++;}
}
)
$('._4gt3b').scrollTop($('._4gt3b')[0].scrollHeight); console.log('loop');
}, 70000); 

这是我在运行脚本后收到的错误

>VM137:7 Uncaught TypeError: Cannot read property 'scrollHeight' of undefined  
        at HTMLButtonElement.<anonymous> (<anonymous>:7:40)  
        at Function.each (jquery.min.js:2)  
        at n.fn.init.each (jquery.min.js:2)  
        at <anonymous>:3:32   

4

2 回答 2

1

它看起来像$('._4gt3b')[0]并且$('._4gt3b')[1]不存在。

您可以通过首先检查值来防止此错误,如下所示:

var element = $('._4gt3b')[1];
if ( element !== undefined ) {
    $('._4gt3b').scrollTop(element.scrollHeight);
}
于 2017-08-08T09:48:21.713 回答
0

首先将dom $('._4gt3b') 存储/缓存在某个变量中,例如 $abc = $('._4gt3b') ,然后通过长度或索引函数对dom是否存在进行javascript检查然后你逻辑. 它将保护您的代码免受任何控制台错误的影响

于 2017-08-08T09:46:48.417 回答