2011-11-11 6 views
2

콘텐츠 스크립트에서 배경 페이지로 메시지를 보내고 콘텐츠 스크립트의 tab_id를 기록하는 크롬 확장 프로그램을 사용했습니다. google.com | de |에서 두 개의 메시지가 기록되어 두 개의 콘텐츠 스크립트가 생성된다는 것을 알았습니다 : 탭에 표시된 실제 웹 페이지 (예 : https://www.google.com/search?q=python+standard+library)와 google 결과 목록의 첫 번째 항목에 대한 다른 콘텐츠 스크립트 (위의 예에서 http://docs.python.org/library/)Google 크롬 확장의 숨겨진 탭

낯선 사람 - 두 번째 콘텐츠 스크립트 (숨겨진 콘텐츠)의 tab_id가 유효하지 않습니다. 나는.

오류 pageAction.hide시 : chrome.pageAction.hide (tab_id)을 표시하기 위해 다음과 같은 오류가 발생하지 않습니다 ID를 가진 탭 : 71

을 알아낼 수있는 방법이 있나요 콘텐츠 스크립트 "는에 속하는 경우 숨겨진 "탭?

덕분에, 모든 피터

답변

1

첫째, 당신은 콘텐츠 스크립트 필요없이 탭과 URL 매핑을 추적 할 onCreated 및/또는 onUpdated를 사용할 수 있습니다.

그러나 배경 화면에 탭 ID를 알리는 것 이상으로 내용 스크립트가 더 많으면 더 많은 검사가 필요할 수 있습니다.

콘텐츠 스크립트가 all_frames에서 실행되는 경우 콘텐츠 스크립트의 메시지와 모든 내부 프레임이 표시됩니다. 그래도 샘플 구현을 테스트 할 때 모든 샘플에 동일한 ID가 부여됩니다. 또한 이들 중 어느 것도 검색 결과 목록의 항목으로 표시되지 않습니다.

모든 탭에서 스크립트를 실행하는 경우 if (window.top === window)을 사용하여 sendRequest 전화를 래핑하여 맨 위 창만 메시지를 보내도록 할 수 있습니다.

Google 확장 검색 결과를 어떻게 실행하는지 다른 확장 프로그램을 실행할 가능성이 있습니까? 그 효과가있을 수 있습니다 ....

관련 문제