0

콘텐츠 스크립트가 모든 페이지에서 실행되도록 정의되었습니다.
Facebook에 문제가 발생했습니다 :
"http://facebook.com"을로드하고 내 콘텐츠 스크립트가 실행되고 $ (document) .ready() 이벤트가 발생하여 알릴 수 있다고 가정합니다. 그런 다음 페이스 북 (내 프로파일 페이지 또는 내가 속한 그룹) 내부의 링크를 누르면 컨텐츠 스크립트가 다시로드되지 않습니다.크롬 확장 콘텐츠 스크립트 및 document.ready 이벤트

URL이 변경되므로 콘텐츠 스크립트가 다시 실행되어야합니다. 그렇지 않습니까?

+0

일반적으로 콘텐츠 스크립트는 준비 이벤트가 발생한 후에 기본적으로 실행되므로 'document.ready'를 필요로하지 않습니다. jQuery는 이미'ready'가 발생했기 때문에 jQuery가 나중에 큐에 넣는 대신 함수를 실행하기 때문에 괜찮습니다. – Teepeemm

답변

1

아니요, 페이지의 콘텐츠가 전체 페이지 전체가 다시로드되기 때문에 아니요. URL 변경은 페이지가 다시로드되었음을 의미하지 않습니다. 당신은 url 자체의 변화를 경청해야한다. URl이 변경되면 일부 코드가 수행됩니다. 탭의 URL이 방법 나는이 당신을 도움이되기를 바랍니다

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) { 
    if (changeInfo.url != null) { // check this condition, I didn't remember what is returned if the url didn't change. 
    // your code 
    } 
}); 

을 사용하여 변경할 경우

당신은들을 수 있습니다.

관련 문제