In meinem Stackoverflow-Ordner habe ich stackoverflow.ico
und 2 unten stehende Dateien. Beim Importieren in Chrome wird das Symbol in der Adressleiste angezeigt. Wenn ich jedoch darauf klicke, öffnet Chrome keinen neuen Tab. Was mache ich falsch?
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>
javascript
html
google-chrome
google-chrome-extension
tabs
Tuyen Pham
quelle
quelle
In meinem Fall musste ich den Link in einem neuen Tab öffnen, als ich auf einen Link im Popup-Fenster der Erweiterung klickte. Es funktionierte einwandfrei mit dem
target
Attribut_blank
:<a href="http://www.example.com" target="_blank">Example</a>
quelle
Ich würde eine einfachere Lösung bevorzugen - fügen Sie einfach eine Aktion zu onclick hinzu
$('body').on('click', 'a[target="_blank"]', function(e){ e.preventDefault(); chrome.tabs.create({url: $(this).prop('href'), active: false}); return false; });
Dadurch werden alle Links (auch dynamisch erstellte Links) mit dem Attribut target = "_ blank" in einer neuen Registerkarte geöffnet, ohne den Popup-Fokus zu verlieren.
quelle