Haben Sie JavaScript, um die Inhalte jeder HTML-Datei zu laden? Wenn ja, und Sie haben JavaScript-Code, der ausgeführt wird, sobald jede Datei geladen ist, können Sie die erforderlichen Setup-Funktionen innerhalb der Load-Funktion aufrufen, wie folgt:
base.html
$(document).ready(function()
{
$('#loadPageA').on('click', function()
{
$('#contents').load('pageA.html', function()
{
setupPageA(); // in pageA.js definiert
});
});
$('#loadPageB').on('click', function()
{
$('#contents').load('pageB.html', function()
{
setupPageB(); // in pageB.js definiert
});
});
});
Seite A laden
Seite B laden
Oder wenn Sie einfach nur möchten, dass pageA.js ausgeführt wird, wenn pageA.html geladen wird, können Sie einfach das Skript-Element pageA.js in pageA.html selbst einbauen, so wie hier:
pageA.html:
Seite A
pageB.html:
Seite B
base.html:
$(document).ready(function()
{
$('#loadPageA').on('click', function()
{
$('#contents').load('pageA.html');
});
$('#loadPageB').on('click', function()
{
$('#contents').load('pageB.html');
});
});
Seite A laden
Seite B laden
Die dynamische Skript-SRC-Lösung:
base.html:
function loadScript(script)
{
// Den vorhandenen Skript-Tag ändern
if($('#dynamicScriptTag').length != 0)
{
$('#dynamicScriptTag').attr('src', script);
}
else // Skript-Tag erstellen
{
$('<script>').attr('type', 'text/javascript')
.attr('src', script)
.attr('id', 'dynamicScriptTag')
.appendTo('head');
}
}
$(document).ready(function()
{
$('#loadPageA').on('click', function(event)
{
event.preventDefault();
$('#contents').load('pageA.html', function()
{
loadScript('js/scriptA.js');
testScriptB(); // testen, ob wir immer noch eine Funktion in scriptB.js aufrufen können
});
});
$('#loadPageB').on('click', function(event)
{
event.preventDefault();
$('#contents').load('pageB.html', function()
{
loadScript('js/scriptB.js')
testScriptA(); // testen, ob wir immer noch eine Funktion in scriptA.js aufrufen können
});
});
});
Seite A laden
Seite B laden
pageA.html:
Seite A
pageB.html:
Seite B
js/scriptA.js:
console.log($('#pageAContents').text());
function testScriptA(){ console.log('Kann immer noch testScriptA aufrufen!'); }
js/scriptB.js:
console.log($('#pageBContents').text());
function testScriptB(){ console.log('Kann immer noch testScriptB aufrufen!'); }