2016-09-10 1 views
0

Ich muss eine HTML-Datei in doGet() vor HTMLOut ändern. Aber die HTML-Datei hat <?!=include('css').getContent();?>, die nicht ausgeführt werden kann, und Teil von HTML-Text werden. Schätze deine Hilfe? Hier ist der Code. HierSo ändern Sie HTML-Datei vor HTMLOutput in Google Apps Script

function doGet(e) { 
    var landingPage; 
    landingPage=e.parameter.page ||'index'; 
    var html=HtmlService.createHtmlOutputFromFile(landingPage); 

    var content=html.getContent(); 
    content=content.replace("%%ToBeChanged%%","New Value"); 
    var html2=HtmlService.createTemplate(content); 
    return html2.evaluate() 
    .setTitle('testing Website') 
    .addMetaTag('viewport', 'width=device-width, initial-scale=1') 
} 

ist die index.html in dem Projekt

<!doctype html> 
<html> 
<head> 
<meta charset="UTF-8" /> 

    <title>TITLE</title> 

    <?!=HtmlService.createHtmlOutputFromFile('styleSheet').getContent(); ?> 
    <?!=HtmlService.createHtmlOutputFromFile('script').getContent(); ?> 

</head> 
<body> 
    <form> 
    <input type='text' value='##ToBeChanged##'> 
    </form> 
</body> 
</html> 
+0

Im Scriptlet haben Sie einen Funktionsnamen 'include()' Ich sehe keinen .gs serverseitigen Code für 'function include() {return theHtml}' Wählen Sie im Menü Ansicht "Execution Transcript" nach dem Code wurde ausgeführt, und schauen Sie auf den unteren Rand des Ausdrucks. Gibt es eine Zeilennummer, die fehlgeschlagen ist? –

Antwort

0

Wenn Sie nur versuchen, die Seite mit einigen CSS und JavaScript zu laden. Sie möchten den HTML-Service nicht in Ihrem HTML-Dokument aufrufen. Versuchen this-

Code.gs-

function doGet() { 
    var template = HtmlService.createTemplateFromFile('LandingPage'); 
    return template.evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME); 
} 

function include(filename) { 
return HtmlService.createHtmlOutputFromFile(filename) 
     .getContent(); 
} 

index.html-

<head> 
<?!= include("StyleSheet"); ?> 
</head> 

Beachten Sie die doGet Funktion sagt .Create TemplateFromFile() und nicht .createHtml OutputFromFile. OutputFromFile ruft im Grunde die Daten aus der Datei ab, verarbeitet sie jedoch nicht. Mit anderen Worten, die StyleSheet- oder JavaScript-Dateien werden nicht gerendert.

Weitere Informationen zum Einrichten finden Sie in der Google Apps Script-Dokumentation unter Best Practices.

Ich hoffe es hilft.

Verwandte Themen