2016-03-27 11 views
0

Meine Chrome-Erweiterung ist grau und das Popup wird nicht angezeigt. Ich versuche, es auf "https://scratch.mit.edu" und allen Subdomains zu arbeiten, aber es ist auf jeder Seite grau. Das Popup wird auch auf keiner Seite angezeigt.Chrome Erweiterung ist grau und Popup wird nicht angezeigt

manifest.json:

{ 
"manifest_version": 2, 
"background": { 
    "page": "background.html" 
}, 
"page_action": { 
     "default_icon": { 
     "19": "images/icon19.png", 
     "38": "images/icon38.png" 
     }, 
     "default_title": "Scratch theme loader", 
     "default_popup": "popup.html" 
    }, 
"permissions": [ 
    "storage", 
    "declarativeContent", 
    "https://scratch.mit.edu/*", 
    "https://pastebin.com/raw/*" 
] 
} 

background.html:

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Background operation for Scratch Themes</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    </head> 
    <body> 
    <script type="text/javascript"> 
     chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) { 


     if (tab.url.indexOf('https://scratch.mit.edu') > -1) { 
     chrome.pageAction.show(tabId); 
     } else { 
     chrome.pageAction.hide(tabId); 
     } 
    }); 
    </script> 
    </body> 
</html> 

popup.html:

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Scratch Themes</title> 
    <style> 
     body { 
     min-width: 357px; 
     overflow-x: hidden; 
     font-family: "Segoe UI", "Lucida Grande", Tahoma, sans-serif; 
     font-size: 100%; 
     } 
     img { 
     align: center; 
     } 
    </style> 
    </head> 
    <body> 
     <ul> 
     <li> 
      <img src = "images/S_Themes.png"> 
     </li> 
     <li> 
      <p>Choose which theme you would like to use:</p> 
      <form action=""> 
       <input type="radio" name="example" value="1"> Example 1<br> 
       <input type="radio" name="example" value="2"> Example 2<br> 
       <input type="radio" name="example" value="3"> Example 3 
      </form> 
     </li> 
    </body> 
</html> 

Antwort

1

Sie müssen setzen all der JavaScript-Code in js-Dateien, kein Scripting in HTML ist im Hintergrund erlaubt, Popup und andere Erweiterung Seiten, nicht einmal onclick Attribute.

+0

Danke das hat super funktioniert! Ich musste auch die Berechtigungen ändern, um "Tabs" hinzuzufügen. – Melkor

+0

Beachten Sie, dass Dinge wie unzureichende Berechtigungen, Ursprungsprobleme usw. in ähnlicher Weise auftreten. Keine sichtbaren Fehler, keine Warnungen, keine "undefinierten" Probleme, nur Code, der überhaupt nicht funktioniert - das ist ein gutes Zeichen für Erlaubnisprobleme. –

Verwandte Themen