GM 스크립트를 사용하여 여러 페이지를 연결했습니다. 난 그냥 다음 코드를 포함하는 스크립트를 작성하는 경우 :Greasemonkey가 Facebook에서 DOM을 변경하지 못했습니다.
$(".rfloat.uiButton").trigger('click');
그것은 목록의 페이지 수를 좋아한다 (나는 BTW jQuery를 사용하고 있습니다). 그러나 하단에 "더 많은 결과보기"라는 버튼이 있습니다. 이것들은 Ajax에 의해로드되고있다. 그래서, 난 그렇게처럼 DOM 프로그램에 부착되는 요소들을 내 스크립트를 업데이트 : 나는 "자세한 결과"새로운 페이지 결과가 DOM에 추가를 클릭
$("#pagelet_search_results_objects").bind("DOMSubtreeModified",HandleDOM_ChangeWithDelay);
var zGbl_DOM_ChangeTimer = null;
function HandleDOM_ChangeWithDelay (zEvent) {
if (typeof zGbl_DOM_ChangeTimer == "number") {
clearTimeout (zGbl_DOM_ChangeTimer);
zGbl_DOM_ChangeTimer = '';
}
zGbl_DOM_ChangeTimer = setTimeout (HandleDOM_Change, 333);
}
function HandleDOM_Change() {
alert("New content loaded"); // This fires once
$("a.rfloat.uiButton").trigger('click');
}
경고 화재 후. 그러나 클릭 트리거는 작동하지 않습니다. 마치 GM이 DOM에 적용된 변경 사항을 보지 않는 것입니다.
왜 이런가요?
편집 :
것은 그것은 그들을 클릭하지 여전히 업데이트 수를 표시하지만 것
alert($("a.rfloat.uiButton").length);
하고.