2012-03-10 4 views
0

페이스 북의 피드에서 항목 (내 친구가 나와 공유 한 것)에 대한 링크를 추가하는 Chrome 확장 프로그램을 만들었습니다. Facebook은 페이지로드시 피드에 약 10 ~ 20 개의 항목을로드하고, 나머지는 스크롤하면 아약스를 통해로드됩니다.페이스 북에서 크롬 확장을위한 콘텐츠 스크립트를 다시로드해야합니다.

콘텐츠 스크립트를 첫 번째 항목에는 사용할 수 있지만 나머지 항목에는 사용할 수 없습니다. 내가 찾은 모든 것을 읽었으며 콘텐츠 스크립트를 다시로드해야하는 것으로 보입니다.

URL이 변경되지 않는다고 어떻게 생각합니까?

+0

가능한 중복 [인가 거기에 자바 스크립트/jQuery를 DOM 변경 청취자?] (https://stackoverflow.com/questions/2844565/is-there-a-javascript-jquery-dom-change-listener) – Makyen

답변

0

음, XX 초마다 실행되는 시간 기반 청취자를 걸어서 작업 할 새 항목이 있는지 확인할 수 있습니다.

아쉽게도 페이지의 코드가 Ajax를 수행 할 때 해고 당할 수있는 이벤트가 없습니다.

로드 된 항목의 목록에 도달 한 사용자를 감지 할 수있는 evet을 알아낼 수 있습니다. 페이지의 코드가 더 많은 항목을 검색하기 위해 일부 Ajax를 수행한다는 것을 알고 있습니다. 그런 다음 시간 주도 청취자를 시작합니다.

1

DOMNodeInserted 이벤트와 함께 document.addEventListener을 사용하여 피드에서 렌더링되는 새 항목을 수신 대기 할 수 있습니다. 콜백은 각 노드 삽입이 피드 항목인지 여부를 확인해야합니다. 다음과 같은 것이 효과가있다.

function nodeInsertedCallback(event) { console.log(event); }); 
document.addEventListener('DOMNodeInserted', nodeInsertedCallback); 
관련 문제