2012-03-24 5 views
0

Das ist meine erste Frage hier also versuchen Sie, mein Bestes zu machen, damit Sie es klar verstehen können ... So ist mein Problem, dass ich Menüs und Fußzeilen von extern laden möchte HTML-Datei so Es wäre einfacher, sie später zu ändern. Ich kann PHP oder andere serverseitige Sprachen nicht verwenden, weil es für die Schule ist und ich es vom USB-Stick verwende.

geht Meine aktuellen Code wie folgt aus:Wie man Daten von einem anderen HTML zu einem anderen ohne PHP einbindet

<head> 
    <title>SchoolStuff</title> 
    <script src="http://code.jquery.com/jquery-latest.js"></script> 
</head> 
<body> 
    <div id="header"> 
     <p>[Stuff here]</p> 
    </div> 
    <script > 
    $("#header").load("/header.html #header"); 
    </script> ... 


und in der header.html es wie folgt aussehen:

<body> 
<div id="header"> 
    <ul> 
     <li><a href="#"> Just a Test</a></li> 
    </ul> 
</div> 

So haben euch irgendwelche Ideen, wie dies zu tun? Es spielt keine Rolle, ob Sie dies in etwas anderem als jQuery lösen, aber es kann keine serverseitige Sprache sein. Und IFrame funktioniert nicht für diese Art von Zweck, weil ich nicht die ganze Seite möchte. Ich möchte nur bestimmte Teile.

EDIT: ok es, wie es in Chrom gerade nicht funktionieren sieht (das allerdings wirklich seltsam ist) also, wenn Sie irgendwelche Ideen haben es in Chrom zu bekommen arbeiten auch wäre es
EDIT 2 geschätzt werden: I Ich habe beschlossen, meine Website online zu stellen, damit es für alle einfacher ist ...

+0

SSI ein gutes, einfaches Webseiten serverseitige Tool zum Faktor ist. Zum Beispiel unterstützt [Apache] (http://httpd.apache.org/docs/2.0/howto/ssi.html) es. –

+0

Welcher Teil von dem, was Sie haben, funktioniert nicht? – Whymarrh

+0

@Kerrek SB aber Problem ist hier, dass ich keine Server verwenden kann, so müssen Browser die Arbeit machen. Ansonsten würde ich php dafür verwenden. – aaro

Antwort

0

Ohne die Verwendung serverseitiger Technologien glaube ich nicht, dass dies möglich ist. JavaScript folgt der gleichen Ursprungsrichtlinie, und beim Laden von Dateien über das Protokoll file:// wird der Ursprung meines Erachtens auf null festgelegt.

In meinem Test bekomme ich den Fehler: Origin null is not allowed by Access-Control-Allow-Origin. Das führt mich zu der Annahme, dass Sie keine Dateien aus dem lokalen Dateisystem laden können (klein white lie, möglicherweise help).

+0

Danke ... Ziemlich seltsam, dass das in Chrome nicht funktioniert ... Ich werde einen großen Header zu setzen Diese Seite, dass es nicht richtig funktioniert in Chrome dann .. – aaro

+0

@thePenahi siehe ogurs Antwort. Sie können einen CSS-Selektor nicht im Funktionsaufruf .load() übergeben. Siehe Dokumentation zur Verwendung: http://api.jquery.com/load/ – Alex

+0

@AlexW Siehe die Seite, die Sie erneut verknüpft haben! Sie ** können ** CSS-Selektoren verwenden. Und das funktioniert einfach nicht in Chrome, der Code, den ich gemacht habe, funktioniert in Firefox gut. – aaro

1

Dies sollte funktionieren:

<script > 
$(function(){ 
    $("#header p").load("header.html"); 
}) 
</script> 
+0

In diesem Fall wäre es dasselbe, iframe ohne CSS-Stile zu verwenden. Aber das Problem hier schien zu sein, dass es einfach nicht in Chrome funktioniert, weil es nicht unterstützt, Dateien von lokalem System wie dem oben genannten hithmarrh zu laden. Und ich habe eine Domain erstellt und die Dateien in den Server gestellt, so dass ich PHP für diese Art von Dingen (und mehr) verwenden kann. – aaro

Verwandte Themen