2010-01-02 4 views
0

사용자가 북마크를 만들 때 Chrome에 모달 자바 스크립트 대화 상자를 표시하려고합니다. 그러나 Closure 및 SimpleModal + JQuery를 시도한 후에는 대화 상자가 나타나지 않는 것 같습니다. 이 기능은 Chrome에서 확장 기능의 제한 사항입니까, 아니면 내가 잘못하고있는 것입니까? (나는 여전히 자바를 배우므로, 이해가 부족하여 그 이유가 될 수 있습니다.)Chrome 확장 프로그램의 대화 상자 표시

여기 내 코드가 Closure를 사용합니다. 그것은 함수로 그것을 만들지 만, 그래서 괜찮습니다. 어떤 제안? 감사!

<html> 
    <head> 
     <script src="./lib/closure-library/closure/goog/base.js"></script> 
     <script type="text/javascript" src="./lib/closure-library/closure/goog/deps.js"></script> 
     <script>goog.require('goog.ui.Dialog');</script> 
     <script type="text/javascript"> 
      chrome.bookmarks.onCreated.addListener(function(id, bookmark) { 
       // Setup the dialog box. 
       var dialog1 = new goog.ui.Dialog(); 
       dialog1.setContent('[Insert Placeholder]'); 
       dialog1.setTitle('Title Placeholder'); 

       // Display dialog. 
       dialog1.setVisible(true); 
      }); 
     </script> 
    </head> 
    <body> 
     <!-- Do Nothing --> 
    </body> 
</html> 

답변

3

당신은 배경 페이지에이 같은 대화 상자를 사용할 수 없습니다

background-pages

당신은 옵션 페이지에 대해이 작업을 수행 할 수 있습니다 그래서

Google Chrome Extensions Options

당신의 경우에, 당신은 원할 것입니다. 들을 수 있도록 북마크를 만들었고 대화 상자를 만들고 싶기 때문에 페이지 자체와 통신해야합니다.

method-getselected

당신이 탭을 일단 당신이 다음 실행할 수있는 자바 스크립트 : 따라서를 통해 selectedTab를 얻을 수

method-executescript

2

모하메드의 대답 비트를 명확히하기 위해, 클로저의 모달 대화 상자는 인 페이지 HTML입니다. 이 코드는 실제로 코드에서 작동하지만 백그라운드 페이지에서이 작업을 수행하고 있기 때문에 배경 페이지가 보이지 않으므로 보이지 않습니다. 배경 페이지의 window.open 또는 window.alert를 사용하는 기술을 사용할 수 있지만 대화 형 HTML을 사용자에게 표시하려고하는 것은 사용할 수 없습니다. 이를 위해서는 모하메드가 제안한대로 팝업 창이나 페이지 자체에 콘텐츠를 가져와야합니다.

+0

설명을 이해할 수 있습니다 (+1). 모하메드의 정보를 사용하여 실제로 페이지를로드 할 때가 아니라 페이지로드시에 대화 상자를 표시 할 수있었습니다. (보기 좋게 정렬되었지만 적어도 뭔가가 있습니다.) 북마크 (그것은 임의로하는 것처럼 보입니다). 이것은 나를위한 고집 점입니다. 나는 제안에 개방적이지만, (인생은 바빴습니다) 정말 놀 수있는 시간도 없었습니다. 그래서 그것은 단순 할 수 있습니다. – JasCav

관련 문제