2013-07-09 1 views
2

현재 탭 url과 title을 얻기 위해 부트 스트랩 된 firefox 확장자를 생성하려고합니다. 문제는 탭 URL의 url에 "about :"이라는 단어가 있는지 확인하고 싶습니다. 필자가 제안하는 솔루션은 브라우저의 native string.substr() javascript 함수를 사용하여 require ("sdk/tabs") .activeTab.url "을 확인하는 것입니다. 위젯 또는 ToolbarButton onClick 메서드에서 브라우저의 네이티브 javasript 함수를 사용할 수 있습니까?firefox addon builder에서 브라우저 탭 속성 활성화하기

exports.main = function(options) { 

    var base64 = require("sdk/base64"); 

    var panel = require("sdk/panel").Panel({ 
     width: 700, 
     height: 470, 
     onHide: function() 
     { 
     panel.contentURL = "about:blank"; 
     } 
    }); 

    var tbb = require("toolbarbutton").ToolbarButton({ 
     id: "extension-tbb-id", 
     label: "IFShare+", 
     image: "https://www.fasdfasd.es/factory/templates/templateforidkreader/favicon.ico", 
     panel: panel, 
     onClick: function() 
     { 
     windowPanel = require("sdk/tabs").activeTab; 

     title = windowPanel.title; 
     url = windowPanel.url; 
     // Is any posibility to do something like that ???? 
     contentScript: "if("+url+".substring(0,5)=='about:'){" 
     { 
      url=''; 
      title=''; 
     } 
     contentScript: "}" 

     this.panel.contentURL = "https://www.fasdfasdf.es/factory/index2.php?option=com_idkreader&view=shareplus&task=window&Itemid=0&url="+base64.encode(url, "utf-8")+'&title='+base64.encode(title, "utf-8")+'&ref=ext';  
     }, 

    }); 


    // move the toolbar button to the navigation bar 
    if ("install" == options.loadReason) { 
    tbb.moveTo({toolbarID: "nav-bar"}); 
    } 
} 

답변

0

난 당신이 달성 하려는지의 세부 사항에 완전히 명확하지 않다,하지만 난 당신이 가까운 것 같아요. 질문으로

이 질문에 대답하기 위해, 아니 액세스 할 수 없습니다 콘텐츠 스크립트 내에서 변수를 사용할 수 있습니다. 가장 좋은 방법은 the page-mod documentation에 언급 된 콘텐츠 스크립트 메시징을 사용하는 것입니다.

그러나, 당신이 원하는 것을 성취하기 위해서, 당신은 이것을 할 필요가 없습니다. 당신이 조금 질문을 수정하면 당신은 너무

function onClick() 
    { 
    windowPanel = require("sdk/tabs").activeTab; 

    title = windowPanel.title; 
    url = windowPanel.url; 

    if(url.substring(0,5)=='about:'){ 
    { 
     url=''; 
     title=''; 
    } else { 
     //You can insert any content script stuff you want here 
    } 
    this.panel.contentURL = "https://www.fasdfasdf.es/factory/index2.php?option=com_idkreader&view=shareplus&task=window&Itemid=0&url="+base64.encode(url, "utf-8")+'&title='+base64.encode(title, "utf-8")+'&ref=ext';  
    } 

처럼 온 클릭 함수 자체에서 당신이 원하는 것을 할 수있는, 나는 내 대답을 수정 드릴 것입니다.

+0

정말 도움이되어 주셔서 감사합니다. 내 관심사에 대해 더 많이 대답 해 주셨습니다. 이제 addon 생성과 JavaScript에 대해 더 많이 이해합니다. – user2563541