各ページがajax経由でロードされるため、実行するたびに自分自身を呼び出すsetTimeoutを使用して、さまざまなページのコンテンツを継続的にチェックしています。Facebook JS は、可能なすべての setTimeout 参照を実行し、アプリを役に立たなくするたびに clearTimeout を呼び出しているようです。
Facebook の JS によって setTimeout が無力な小さなバグのように押しつぶされるのを防ぐ方法はありますか?
これが私のコードです。何が起こっているのかを確認し、必要に応じてソリューションをテストできます。
ruleset a60x542 {
meta {
name "shun-the-facebook-likes"
description <<
shun-the-facebook-likes
>>
author "Mike Grace"
logging off
}
dispatch {
domain "facebook.com"
}
rule find_the_likes {
select when pageview "facebook\.com"
{
emit <|
KOBJ.a60x542.removeLikes = function() {
$K(".uiUfiLike, .like_link, .cmnt_like_link").remove();
var timeout = window.setTimeout(function() {
KOBJ.a60x542.removeLikes();
}, 4000);
console.log(timeout);
} // removeLikes()
KOBJ.a60x542.removeLikes();
|>;
}
}
}