2011-09-15 4 views
0

파이어 폭스 확장 기능에 대한 작업 tabbrowser을 사용하는 동안 selectedBrowser 또는 selectedTab을 붙잡을 수있게되었습니다. 두 항목의 높은 수준의 정의 (tab 브라우저 속성이없는 이유 tab 그럼? 문서를 가지고?) 유사브라우저와 탭 사이의 상위 수준은 무엇입니까?

모르고

, 나 자신이 궁금해 발견에 속성을 연결하면 어떻게 사용자가 현재 수행하고 있습니다. gBrowser.selectedBrowser.MYSPECIALPROPERTYgBrowser.selectedTab.MYSPECIALPROPERTY을 사용하는 것이 더 나을 경우 더욱 좋습니다.

일반적으로 나는 함께 작업하고 싶었던 메소드가 있었기 때문에 브라우저와 잡아 먹기가 더 쉬웠 기 때문에 Tabs와 그다지 많은 것들을 잡아 내기보다는 그 아이디어가 마음에 들지 않았기 때문에 나는 보통 browser이 필요했습니다. 그 이유를 완전히 이해하지 않고서 하나를 선호하는 것.

selectedBrowser에서 selectedTab으로 어떻게 변환 할 수 있는지 궁금해하고 있습니다. 그 중 하나라도 해당된다고 가정하면됩니다.

이 질문들은 다소 분리 될 수 있지만 몇 가지 핵심적인 수준의 이해가 누락되어 있으므로 이러한 질문 중 하나를 묻고 내 혼란을 해결할 수있는 대답을 얻을 수 있을지 확신하지 못합니다.

답변

1

<tabbrowser><tabbox>의 특수 버전입니다. 일반적으로 <tabbox>은 탭 및 관련 탭 패널의 모음입니다. 여기 탭은 실제로 특정 탭으로 전환하기 위해 클릭하는 탭 머리글이며 탭 패널은 표시되는 내용 (탭 내용의 컨테이너)입니다. 탭과 탭 패널 사이에는 직접적인 매핑이 없으며 각각의 컨테이너 노드에서 동일한 인덱스를 가지게됩니다. 적어도 그것은 탭이 linkedpanel attribute을 통해 명시 적으로 특정 패널에 연결될 수 있다는 점에서 약간 복잡합니다.

이제 <tabbrowser>의 각 탭 패널에는 <browser> 요소가 있습니다. 그러나 그것은 <tab>과 같은 요소를 사용합니다.이 요소는 보통 <tabbox>에도 있습니다. <tab><browser><tabbrowser> 외부에서 사용할 수 있으므로 특별한 API는 찾을 수 없습니다. 해당 종류의 API는 <tabbrowser>에서만 사용할 수 있습니다.

특정 탭 헤더에 대한 브라우저를 얻으려면 tabbrowser.getBrowserForTab()을 사용할 수 있습니다. 다른 방향으로가는 것은 더 복잡합니다 (일반적으로 불필요합니다). 실제로 필요하다면 tabbrowser.getBrowserIndexForDocument()을 사용하여 브라우저의 색인을 얻을 수 있습니다. 그런 다음 tabbrowser.tabs.getItemAtIndex()을 통해 해당 탭을 가져올 수 있습니다.

그냥 반복하십시오 : 일반적으로 <browser> 요소를 사용하려고합니다. 탭 머리글을 볼 이유가 거의 없습니다 (순서를 바꾸거나 원하는 경우 제외).

관련 문제