Rendern Sie Moustache.js-Vorlagen in einer Chrome-Erweiterung

8

Ich möchte HTML in einige Websites mit einer Chrome-Erweiterung einfügen, und es wäre viel schöner, ein Vorlagensystem wie Moustache.js dafür zu verwenden. Ich kann jedoch nicht herausfinden, wie ich auf den Inhalt der Vorlagendatei zugreifen kann. Ein Beispiel für das, was ich versuche zu tun:

content_script.js

%Vor%

template.html

%Vor%

Das Bild zeigt sich gut, wie Sie es erwarten. Und deshalb gibt das Laden von template.html nur die folgende Zeichenfolge zurück: chrome-extension://badmldhplgbmcbkolbmkhbamjaanjejj/template.html

Wie bekomme ich den Inhalt meiner Vorlagendatei als String?

Danke an Boris Smus für die Lösung

content_script.js

%Vor%     
daharon 03.11.2011, 21:26
quelle

1 Antwort

7

chrome.extension.getURL(file) liefert die absolute URL der angeforderten Datei, nicht ihren Inhalt. Sie sollten ein XHR in der Vorlage machen, um stattdessen dessen Inhalt zu erhalten.

Alternativ können Sie den Inhalt Ihrer Vorlage selbst in Ihrem HTML speichern, indem Sie etwas wie <script id="templ" type="text/x-template">...</script> verwenden, und dann den Inhalt der Vorlage über document.getElementById('templ') referenzieren.

    
Boris Smus 03.11.2011, 21:33
quelle