2011-09-17 3 views
0

Firefox 확장에서 NPAPI 플러그인을로드하는 데 문제가 있습니다. 내가 지금하고있는 방식은 플러그인이 이미 Windows에 등록되어 있기 때문에 window.onload를 통해 액세스되는 크롬 &에 삽입되는 오버레이를 통해 삽입 요소를로드합니다. 분명히 NPAPI 요소가로드되었지만 기본 함수에 액세스 할 수 없습니다. I가 크롬에 삽입 된 삽입을 볼 수 있도록 Firefox 확장자에서 NPAPI 함수에 액세스 할 수 없습니다.

<overlay ...> 
    <window id="main-window"> 
    <embed type="application/x-myplugin" id="myplugin" width="300" height="300"></embed> 
    </window> 
</overlay> 

내가 너비/높이 값을 설정

여기에 내 main.xul이다.

[object XULElement] 
undefined 

같은 소스 코드는 HTML 문서에 배치 된 경우, plugin.version는 "1000"반환 :

window.addEventListener("load", function() { 

    var plugin = document.getElementById("myplugin"); 
    dump(plugin + "\n"); 
    dump("version: " + plugin.version + "\n"); 

}); 

덤프가 :

여기 내 JS입니다. NPAPI 플러그인이 HTML 문서에서 작동하고 Chrome 확장 프로그램에로드 될 때 작동하는 것으로 확인되었습니다.

내가 잘못하고있는 것이 있습니까? 웹 페이지와 별도의 다른 대화 상자에서 속성을 검색해야하므로 필요에 따라 페이지에 삽입하는 대신 NPAPI 플러그인을 크롬에로드해야합니다. Firefox Extension에서 호출 할 수있는 브라우저로드 당 한 번로드 할 수있는 NPAPI 플러그인을로드하는 또 다른 방법이있을 수 있습니다.

만약 도움이된다면, NPAPI는 Firebreath 프레임 워크로 제작되었습니다.

참고 :이 스레드를 따라갔습니다 : link 분명히로드 된 플러그인을 얻을 수 있지만 여전히 어떤 기능에도 액세스 할 수 없습니다.

감사합니다.

답변

1

XUL에는 <embed> 태그가 없으므로, <embed> 태그를 사용합니다. 이 태그의 HTML 네임 스페이스를 사용

<embed xmlns="http://www.w3.org/1999/xhtml" ...></embed> 

추가 정보 : https://developer.mozilla.org/en/Namespaces

+0

감사합니다 많이! 그것으로 해결되었습니다. –