2011-11-08 3 views
0

다음 코드를 사용하여 리치 스 니펫 테스트 도구에서 현재 페이지 URL을 열었습니다. 첫 번째 클릭시 확장 프로그램이 제대로 작동하고 URL을 열 때 문제가 발생합니다. 그러나 테스트 페이지 URL이 현재 열려 있으면 다른 URL을 열 수 없습니다.크롬 확장 기능이 작동하지 않습니다.

내 요구 사항은이 확장 기능을 사용하여 테스트 도구에서 한 번에 여러 페이지를 여는 것입니다. 하지만 한 번에 하나만 열 수 있습니다.

내 매니페스트 파일 :

{ 
    "name": "RS Analyzer", 
    "description": "Extension to get current page URL and display its Rich Snippets.", 
    "version": "1.4", 
    "background_page": "background.html", 
    "permissions": [ 
    "tabs", "http://*/*", "https://*/*" 
    ], 
    "icons":{"16": "images/R_icon_16x16.jpeg", 
      "48": "images/R_icon_48x48.jpeg", 
      "128": "images/R_icon_128x128.jpeg"}, 
    "browser_action": { 
     "default_title": "RS Analyzer", 
     "default_icon": "images/icon.jpg" 
    } 
} 

내 배경 페이지 : 당신의 이름을 창 (탭)을 주었기 때문에

chrome.browserAction.onClicked.addListener(function(tab){ 
    chrome.tabs.getSelected(null,function(tab) { 
    var tablink = tab.url; 
    var richurl = "http://www.google.com/webmasters/tools/richsnippets?url=" + encodeURIComponent(tablink) + "&view="; 
    window.open(richurl,'_newtab'); 
    }); 
    }); 

답변

1

이 있습니다. 즉, 매번 동일한 탭이 사용됩니다. 탭의 식별자와 같습니다.

당신은 이름을 제거하여이 문제를 해결 할 수 있습니다

window.open(richurl); 
1
이 같은 탭으로 다음 일을 열 수 있도록 크롬 "_newtab"그것은 단지 탭의 ID로 생각을 이해하지 못하는

. "_blank"를 사용하면 일반적으로 새 탭이 열리지 만 사용자 설정에 따라 다릅니다 (새 창을 열 수도 있음).

새 탭을 원하면 Chrome 확장 탭 API를 살펴보아야합니다. 그들에는 create method가 있습니다. 확장 프로그램에 대한 권한을 설정해야합니다.

+0

create 메서드는 탭의 끝에 탭을 만들 것이고, 나는이 탭을 입력 탭에 인접하여 열 필요가있었습니다. 그냥 _newtab을 제거하면됩니다. 감사합니다. –

+0

@Chaitneya'create()'는 탭의 위치를 ​​설정할 수있는 인자로'index'를 취합니다. – Lycha

관련 문제