Sie können es tun. Die Idee dahinter ist, eine HTML-Datei in eine HTML-Datei aufzunehmen. Ich kann mindestens 3 Wege sagen, dass dies passieren kann, aber persönlich habe ich nur die dritte validiert.
Zuerst gibt es eine jQuery next sample is taken from this thread
a.html:
<html>
<head>
<script src="jquery.js"></script>
<script>
$(function(){
$("#includedContent").load("b.html");
});
</script>
</head>
<body>
<div id="includedContent"></div>
</body>
</html>
b.html:
<p> This is my include file </p>
Eine andere Lösung, die ich hier gefunden und nicht erfordern jQuery, aber es ist noch nicht getestet: there is a small function
Meine Lösung ist ein reines HTML5 und wird wahrscheinlich nicht in den alten Browsern unterstützt, aber ich interessiere mich nicht für sie.
in dem Kopf Ihres html, Link zu Ihren html hinzufügen mit Vorlage
<link rel="import" href="html/templates/Hello.html">
in hello.html Ihren Template-Code hinzufügen. Als diese Funktion Dienstprogramm verwenden:
loadTemplate: function(templateName)
{
var link = document.querySelector('link[rel="import"][href="html/templates/' + templateName + '.html"]');
var content = link.import;
var script = content.querySelector('script').innerHTML || content.querySelector('script').innerText;
return script;
}
Schließlich rufen Sie die Funktion, wo Sie es brauchen:
var tpl = mobileUtils.loadTemplate('hello');
this.templates.compiledTpl = Template7.compile(tpl);
Jetzt haben Sie zusammengestellt Vorlage bereit, verwendet werden.
======= UPDATE
Nach meinem Projekt für ios Gebäude fand ich heraus, dass Link Import nicht von allen Browsern noch unterstützt wird und ich nicht, um es auf dem iPhone funktioniert. Also habe ich Methode Nummer 2 versucht. Es funktioniert, aber wie Sie vielleicht sehen, macht es Anfragen bekommen, die ich nicht mochte. Jquery Load scheint den gleichen Mangel zu haben.
So kam ich mit Methodennummer aus 4.
<iframe id="iFrameId" src="html/templates/template1.html" style="display:none"></iframe>
und jetzt meine Funktion Loadtemplate ist
loadTemplate: function(iframeId, id)
{
var iFrame = document.getElementById(iframeId);
if (!iFrame || !iFrame.contentDocument) {
console.log('missing iframe or iframe can not be retrieved ' + iframeId);
return "";
}
var el = iFrame.contentDocument.getElementById(id);
if (!el) {
console.log('iframe element can not be located ' + id);
return "";
}
return el.innerText || el.innerHTML;
}
Bedeutet es, dass es unmöglich oder schwer jenen Template-Code als HTML-Format in einer anderen HTML-Datei zu haben? – SonicC
Haben Sie in Erwägung gezogen, die serverseitige Codierung zu verwenden? Mit PHP ist es beispielsweise möglich, den HTML-Code in separate PHP-Dateien zu stellen. Bei diesem Ansatz können Sie beides haben, (1) die Vorlagen im HTML-Format und (2) separate Dateien für Ihre Vorlagen ... –