2013-05-12 28 views
42

Stackoverflow klasöründe, stackoverflow.ico ve 2 bellow dosyam var. Onu Chrome'a ​​aktarırken, adres çubuğundaki simgeyi gösterir, ancak üzerine tıkladığımda Chrome yeni bir sekme açmaz. Neyi yanlış yapıyorum?Chrome uzantısı: Bağlantı yeni sekmede nasıl açılır?

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> 

cevap

65

sorun manifest version 2's content security policy ihlal olmasıdır. Bunu düzeltmek için tek yapmanız gereken satır içi komut dosyasından kurtulmaktır, bu durumda arka planınız page. bir arka plan böyle script çevirmek:

manifest.json

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

background.js nedense, bir olmaya gerek yok, varsa

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

daha sonra, betiği harici bir dosya olarak dahil edin ve daha önce olduğu gibi bir sayfa olarak bildirin.

+2

Teşekkür ederiz. Şimdi çalıştı! – Sakura

İlgili konular