2015-01-07 3 views
0

Javascript의 '확인'대화 상자와 동일한 fassion에서 Crossrider 확장 프로그램에 주문형 팝업을 표시 할 방법을 찾고 있습니다. 자원에 HTML 페이지가 있고 특정 메시지가 발송 될 때마다 표시되는 팝업에서 사용하고 싶습니다. Crossrider (appAPI.browserAction.setPopup)에서 팝업을 표시하는 기능이 있지만 간단한 JS '확인'대화 상자가 아닌 주문형 팝업을 표시하고 싶습니다. 그 일을하는 방법이 있습니까? 고맙습니다.Crossrider 확장 프로그램의 주문형 팝업

답변

1

appAPI.browserAction.setPopupappAPI.browserAction.clearPopup의 조합을 사용하여 팝업을 제어 할 수 있습니다. 다음 예에서, 상기 확장 영역 코드는 방문하는 페이지에 기초하여 요구되는 팝업 판단하여 적절하게 설정한다 :

extension.js :

appAPI.ready(function($) { 
    if (appAPI.isMatchPages("*google", "*msn")) { 
     // Send message to background to set the popup based on the page url 
     appAPI.message.toBackground({ 
      request: 'set-popup', 
      popup: (location.hostname.indexOf('google') !== -1) 
       ? 'google.html' 
       : 'msn.html' 
     }); 
    } else { 
     // Send message to background to clear the popup for other pages 
     appAPI.message.toBackground({ 
      request: 'clear-popup' 
     }); 
    } 
}); 

background.js :

appAPI.ready(function($) { 
    appAPI.browserAction.setResourceIcon('icon.jpg'); 
    appAPI.message.addListener(function(msg) { 
     switch(msg.request) { 
      case 'set-popup': 
       // When setting the page, first clear the existing popup 
       appAPI.browserAction.clearPopup(); 
       // then set the new popup 
       appAPI.browserAction.setPopup({ 
        resourcePath: msg.popup, 
        width: 300, 
        height: 200 
       }); 
       break; 
      case 'clear-popup': 
       appAPI.browserAction.clearPopup(); 
       break; 
     } 
    }); 
}); 

[] 공개 : 나는 Crossrider 직원 임]

+0

코드를 시도했지만 실제 팝업이 표시되지 않는 것처럼 보입니다. 나는 background.js에서 메시지 'set-popup'이 수신되고 있음을 확인했지만, 리소스에서 페이지 (MyPopup.html을 추가)가 표시되지 않습니다. appAPI.browserAction.setPopup 실제로 팝업을 표시하거나 그냥 팝업 속성을 설정합니까? 확장 프로그램의 브라우저 버튼을 클릭하지 않고 표시되도록 팝업을 트리거 할 수 있습니까? 고맙습니다. –

+0

나는 실제로 해결 방법을 발견했다. extension.js 내에서 내 자신의 사용자 정의 DIV를 작성하고 필요에 따라 팝업으로 사용했습니다. 그것은 가장 좋은 해결책은 아니지만 지금까지는 효과가있는 것으로 보인다. 도와 주셔서 감사합니다. –

+0

업데이트 해 주셔서 감사합니다. browserAction 팝업과 관련해서는 버튼 정의에 의한 것이므로 버튼을 클릭 할 때만 표시됩니다. 두 번째 응답에서 요청에 따라 보여줄 수있는 팝업이 표시된 것입니다. 해결 방법은 일반적으로 허용되는 목표 달성 방법입니다. 일부 개발자의 경우에는 알림 용 플러그인 또는 제 3 자 자바 스크립트 라이브러리를 사용할 수도 있습니다. 희망이 도움이됩니다. – Shlomo

관련 문제