chrome extension - manifest version 2 _locales Fragen
ich versuche zu aktualisieren meine manifest-version für meine Erweiterung aber es gab mir dieses problem:
Standard-Gebietsschema angegeben wurde, aber _locales Unterstruktur fehlt.
dies ist mein manifest.json-Datei, kann mir jemand sagen, wo ist das problem und was kann ich tun?
{
"name": "Selected Text",
"version": "0.1",
"manifest_version": 2,
"description": "Selected Text and some changes",
"default_locale":"en",
"browser_action": {
"default_title": "S. Text",
"default_icon": "online.png",
"default_popup": "popup.html"
},
"permissions": [
"tabs",
"chrome://favicon/",
"http://*/*",
"https://*/*"
],
{
"matches": ["http://*/*"],
"js": ["selection.js"],
"run_at": "document_start",
"all_frames": true
}
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es klingt wie Sie fehlen die erforderlichen
_locales
Verzeichnis in deinem root-Erweiterung. Da Sie angeben, eindefault_locale
Sie brauchen, um eine_locales
Verzeichnis, in dem liegen Ihre Internationalisierung-Optionen. In Ihrem Fall, müssten Sie mindestens einen Ordner mit dem Titel_locales/en
, in dem Sie einemessages.json
- Datei, in die Sie Ihre spezifischen Parameter (siehe hier für weitere Informationen).default_locale
parameter und die_locales
Ordner (da braucht man den anderen) und es sollte funktionieren. Wenn Sie wollen, zu "internationalisieren", müssen Sie zuerst mindestens einemessages.json
- Datei (pro link), die mit Ihren übersetzungen.chrome.i18n.getMessage('...')
), und es scheitert, weil es die Nachricht nicht finden können [dies ist unwahrscheinlich, da es funktioniert unter manifest-v1]; oder 2.) Sie sind mit inline-Skripten, die nicht erlaubt sind in v2. Gibt es irgendwelche Skripte in Ihrerpopup.html
- Datei? Auch dies könnte ein copy/paste Sache, aber sind Ihre Berechtigungen"https:///"
oder"https://*/*"?popup.js
und schneiden Sie dann den Skript-code oben und fügen Sie ihn in das neue Dokument. Dann, im inneren des<head>
tag in Ihrempopup.html
, fügen Sie die Zeile<script type="text/javascript" src="popup.js"></script>
(stellen Sie sicher, dass Sie entfernt haben alle den code für das eigentliche Skript). Das klingt wie eine inline-Skript-Problem - in-Manifest V2, inline-Skripte (wie die, die Sie haben inpopup.html
) sind nicht mehr erlaubt, so müssen Sie nun das script in eine andere Datei. Macht das Sinn?selection.js
- Datei? Ich werde, um es zu bauen alle von meiner Seite und debug :0popup.html
sind in-line-Skripten sind nicht erlaubt in manifest-2. Daher möchten Sie entfernen diese Funktion aufruft, und stattdessenpopup.js
zuweisen die Funktionen Ihrer Tasten (Sie können die jQuery verwenden, um so zu tun).popup.js
und sehen, ob das hilft.