2013-03-24 1 views
0

Firefox 용 플러그인을 개발 중입니다. 숨겨진 탭을 열고 자바 스크립트를 통해 내용에 액세스 한 다음 나중에 닫아야합니다.firefox plugin - 탭 브라우저를 숨기고 내용을 가져 오는 방법

내가 탭의 내용을 액세스하기위한 코드를 사용하고 다음과 같은 :

var newTabBrowser = gBrowser.getBrowserForTab(gBrowser.addTab("www.kayak.com/flights#/BOM-ORL/2013-05-14/2013-06-19")); 
var contentdata = ""; 
newTabBrowser.addEventListener("load", function() { 
    contentdata = contentdata + newTabBrowser.contentDocument.body.innerHTML; 
    load = load + 1; 
    if(load == 5) { 
     var DOMPars = new DOMParser(); 
     var dom = DOMPars.parseFromString(contentdata, "text/html"); 
     var priceNode = dom.getElementById('low_price'); 
    } 
}, true); 

어떻게 내가 브라우저에서이 탭을 숨길 수 있습니까?

답변

0

그냥 영구, 보이지 않는 페이지를 작성해야하고 DOM에 액세스하는 것 봐.

Addon-SDK는 page-work 모듈을 제공합니다. 원하는대로 해?

+0

이것은 흥미 롭습니다. 나는 그것을 인식하지 못했다. 실제로 실제로 구현하고 싶은 것을 수행한다. 정보 주셔서 감사합니다. – user2178385

0

addTab로 연 탭에 대한 참조를 저장하는 경우 CSS 또는 기타 사용 가능한 방법을 사용하여 해당 탭을 숨길 수 있습니다. 예를 들어 :

var newTab = gBrowser.addTab("www.kayak.com/flights#/BOM-ORL/2013-05-14/2013-06-19"); 
newTab.setAttribute("style", "display: none"); 

var newTabBrowser = gBrowser.getBrowserForTab(newTab); 
newTabBrowser.loadCount = 0; 
var contentdata = ""; 
newTabBrowser.addEventListener("load", function() { 
    contentdata = contentdata + newTabBrowser.contentDocument.body.innerHTML; 
    this.loadCount = this.loadCount + 1; 
    if(this.loadCount == 5) { 
     var DOMPars = new DOMParser(); 
     var dom = DOMPars.parseFromString(contentdata, "text/html"); 
     var priceNode = dom.getElementById('low_price'); 
    } 
}, true); 
+0

이전에 시도했지만 속성 표시를 none으로 설정하면 콘텐츠가 표시되지 않습니다. 보이는 경우에만 innerHTML에 액세스 할 수있었습니다. 콘텐츠를 숨기고 가져 오는 다른 방법이 있습니까? – user2178385

+0

예제를 업데이트 했으므로 ** local ** 변수가 "load"되어 5가되지 않습니다. –

+0

실제로 캐치는 여기에 있습니다. 특정 URL은 콜백 함수를 5 번 호출 한 후에 만 ​​완전히로드됩니다. 나는 정확한 데이터를 얻지 못할 것이다. 어떻게 든 지금 일하고 있습니다. @martijn 감사합니다. – user2178385