2013-05-12 2 views
42

내 Stackoverflow 폴더에서 stackoverflow.ico 및 2 벨로우즈 파일이 있습니다. Chrome으로 가져올 때 주소창에 아이콘이 표시되지만 Chrome을 클릭해도 새 탭이 열리지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?Chrome 확장 프로그램 : 새 탭에서 링크를 여는 방법은 무엇인가요?

manifest.json을

{ 
    "name": "Stackoverflow", 
    "version": "1", 
    "browser_action": 
    { 
    "default_icon": "stackoverflow.ico" 
    }, 
    "background": 
    { 
    "page": "index.html" 
    }, 
    "permissions": ["tabs"], 
    "manifest_version": 2 
} 

index.html을

<html> 
    <head> 
    <script> 
     chrome.browserAction.onClicked.addListener(function(activeTab) 
     { 
     var newURL = "http://stackoverflow.com/"; 
     chrome.tabs.create({ url: newURL }); 
     }); 
    </script> 
    </head> 
</html> 

답변

65

문제는 당신이 manifest version 2's content security policy을 위반하고 있다는 점이다. 이 문제를 해결하려면 인라인 스크립트를 제거하십시오.이 경우 배경은 page입니다. 배경이 같은 script로 돌려 :

manifest.json을

"background":{ 
    "scripts": ["background.js"] 
}, 

background.js 어떤 이유로, 당신이를 할 필요 않는 경우

chrome.browserAction.onClicked.addListener(function(activeTab){ 
    var newURL = "http://stackoverflow.com/"; 
    chrome.tabs.create({ url: newURL }); 
}); 

그런 다음 스크립트를 외부 파일로 포함시키고 이전과 같이 페이지로 선언하십시오.

+2

감사합니다. 그것은 지금 일했다! – Sakura

관련 문제