var n = 0;
function search() {
if (document.getElementById('post-6386_119125') == null) {
if (document.getElementById('show_more_link')) {
document.getElementById('show_more_link').click();
}
window.scrollTo(0, document.body.scrollHeight);
console.log('n is now ' + n);
} else {
document.getElementById('post-6386_119125').scrollIntoView()
n = 1;
console.log('horray,n is now ' + n)
}
}
while (n == 0) {
search()
}
ソーシャルネットワークのニュースページに特定の投稿を探し、それが現在存在しない場合は、ページをスクロールしてプッシュしますそれが存在する場合は、「次を表示」ボタンjs 'whileループはコードを内部で実行しません
だから私はコンソールに行って、ループの前にすべての行を数回貼り付ける - それはすべてうまくいくが、ループでは何も起きていないし、コンソールは無限の数になる'nは今や0です。' 私はjsを初めて使っていて、JQueryの疫病もありますので、私は非常に基本的なものを見逃しているかもしれません。
'n'は最初のifブロックで変更されないので、' document.getElementById( 'post-6386_119125')== null'の場合、search()は再帰的に呼び出され続けます。 – fotijr
'#post-6386_119125'を決してDOMに追加しないので、' if'文は常に真です。 – 4castle
はい、ただし、nは 'else'ブロックで変更されます。これは、プロックを停止する必要がある点です。 – orlovskiy