2009-03-09 6 views
1

Firefox 확장 내에서 Shadowbox 또는 그와 비슷한 라이트 박스를 사용하고 싶습니다. 그러나 쉐도우는 다음과 같이 자바 스크립트 오류가 발생합니다 :Firefox 확장 프로그램에서 어떤 라이트 박스가 작동합니까?

라이트가 iframe을 지원하고 확장 내부에서 제대로 실행됩니다
Error: document.write is not a function 
Source file: chrome://iframe/content/shadowbox/shadowbox.js 
Line: 1557 

(즉, 오버레이 XUL에 추가됩니다.)?

+0

이 나에게 도움이 대답을 영감, 나는 우리가 심지어 내가 패널에 IFRAME을 넣을려고에 대한 :) –

답변

0

매우 그렇다. 라이트 박스는 XUL이 아닌 (X) HTML로 작업하기위한 것입니다.

2

어떤 기능을 원하십니까?

콘텐츠 위에 "오버레이"를 팝업 할 수 있습니까? 오버레이의 XUL 등가물은 패널입니다. 또한 HTML 네임 스페이스를 사용하여 iframe을 XUL에 쉽게 추가 할 수 있습니다. 나는 그것을 권하고 싶지는 않지만, 대신 간단한 자바 스크립트를 사용하여 패널의 내용을 변경하십시오.

스택으로 시도 할 수도 있습니다. 여기에 작은 예입니다

<?xml version="1.0"?> 
<!DOCTYPE window PUBLIC "-//MOZILLA//DTD XUL V1.0//EN" "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> 
<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?> 
<window id="test" 
     title="test" 
     xmlns:html="http://www.w3.org/1999/xhtml" 
     xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" 
     xmlns:svg="http://www.w3.org/2000/svg"> 
    <stack> 
     <hbox> 
      <vbox> 
       <hbox> 
        <label value="123"/> 
       </hbox> 
       <hbox> 
        <label value="456"/> 
       </hbox> 
       <html:iframe style="width: 800px; height: 400px;" src="http://www.google.com"/> 
      </vbox> 
     </hbox> 
     <vbox style="position: absolute;opacity: 0.5;"> 
      <html:iframe style="position: absolute; top: 100px; left: 100px; width: 500px;" src="http://www.google.com"/> 
     </vbox> 
    </stack> 
</window> 
+0

을 무슨 말을하는지 모르겠어요에도 불구하고. 하지만 투명성이 효과가 없다는 것이 발견되었습니다. 그래서 IFRAME을 한 패널 (불투명)에 넣고 별도의 투명 패널에 테두리 이미지를 넣을 것입니다. 그런데 그 패널이 항상 그림자를 가지고있는 것을 발견했습니다. XUL에서 라이트 박스를 사용하면 라이트 박스가 대안으로 보입니다. – Mat

+0

패널은 여전히 ​​조금 다르며 투명도가 항상 신뢰할만한 것은 아닙니다. 그것들은 메뉴 등을 표현하는 방법입니다. 당신이 할 수있는 일은 아마도 스택을 사용하고 "iframe"안에 정상적인 html로 "팝업"을 배치하는 것입니다. 그것이 작동하지만, 해볼만 한 가치가 있는지 확실하지 않습니다. – lithorus

+0

그냥 작은 테스트를했는데 제대로 작동하는 것 같습니다. 내 대답을 업데이트하여 소스를 보여줍니다. – lithorus

관련 문제