2

Hallo Ich versuche, eine Chrom-Erweiterung zu erstellen, für meine App zur Erweiterung mache ich diese Schritte,Was sollte anstelle von window.location.href in der Chrome-Erweiterung verwendet werden?

1.Go zu Chrome-Option -> Weitere Tools -> Erweiterung.

2.Ich habe den Entwicklermodus in diesem Fenster ausgewählt.

3.Ich habe die entpackte Erweiterung ausgewählt und dann meine App ausgewählt.

4.Ich habe die Erweiterung "Pack" angeklickt.

In meiner Anwendung habe ich einige HTML-Seiten, CSS, JS und Manifest-Datei und background.js.

Manifest-Datei

{ 
    "name": "...", 
    "description": "........", 
    "manifest_version": 2, 
    "minimum_chrome_version": "23", 
    "version": "0.1.1", 
    "offline_enabled": true, 
    "icons": { 
     "16": "sample.png" 
    }, 
    "permissions": [ 
    "storage","tabs","<all_urls>","webview" 
    ], 
    "app": { 
     "background": { 
      "scripts": ["background.js"] 
     } 
    } 
} 

background.js

chrome.app.runtime.onLaunched.addListener(function() { 
    chrome.app.window.create('login.html', { 
    id: 'main', 
    bounds: { width: 1024, height: 768 } 
    }); 
}); 

Während Einschließlich Berechtigungen für Registerkarte I th e folgende Warnung bin immer,

There were warnings when trying to install this extension: 
'tabs' is only allowed for extensions and legacy packaged apps, but this is a packaged app. 

Meine App ist nicht berücksichtigt als Erweiterung. Und ich versuche dies für die Seitennavigation. Normalerweise verwende ich window.location.href="sample.html" in jquery. Dafür erhalte ich einen Fehler in meiner Chrome-Erweiterung,

Use blank _target 

Dann habe ich versucht, diese Zeile von Codes,

function clickHandler(e){ 
    chrome.tabs.update({url:"service1.html"}); 
    window.close(); 
} 
document.addEventListener('DOMContentLoaded',function(){ 
    document.getElementById('click-me').addEventListener('click',clickHandler); 
}); 

Dieser snippent des Code nicht auch etwas eine working.Can mir bitte helfen um meine App zu erweitern und mir bei der Seitennavigation zu helfen. Vielen Dank im Voraus.

+0

Versuchen 'loc ation.replace() 'Funktion – claudios

+0

Noch bekomme ich diesen Fehler. Die Verknüpfung mit demselben Fenster kann nicht zu "chrome-extension: //hnbkidfmkmfoafmcmficmejfcfdjghc/service1.html" geöffnet werden; versuch target = "_ blank". @claudios – Anu

+0

zuerst entfernen ** App ** aus dem Manifest, so dass Chrome es nicht als App behandelt (App-Wrapper, Hintergrund verlassen ...). Dann werden Sie * tabs * Erlaubnis funktioniert –

Antwort

0

Es wird empfohlen, einen Blick auf Offical Guide for extensions, die folgende ist eine grundlegende Probe auf Basis Ihrer Anforderungen zu nehmen, wenn Browser startet (Ihre Erweiterung auch ausgeführt wird), wird es login.html öffnen, gibt es eine Login-Button ist, einmal darauf klicken, sample.html wird geöffnet.

manifest.json

{ 
    "name": "...", 
    "description": "........", 
    "manifest_version": 2, 
    "minimum_chrome_version": "23", 
    "version": "0.1.1", 
    "icons": { 
     "16": "sample.png" 
    }, 
    "background": { 
     "scripts": ["background.js"] 
    } 
} 

background.js

chrome.windows.create({url: "login.html"}); 

login.html

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Document</title> 
</head> 
<body> 
    <button id="click-me">Click me</button> 
    <script src="login.js"></script> 
</body> 
</html> 

login.js

document.addEventListener("DOMContentLoaded", function() { 
    document.getElementById("click-me").addEventListener("click", function() { 
     window.location.href = "sample.html";  
    }, false); 
}); 
+0

login.js wird @Haibara Ai nicht aufgerufen – Anu

Verwandte Themen