2016-06-10 11 views
0

Dies könnte die trivialste Frage sein, aber soweit ich verstehe, scheint es korrekt zu sein, aber ich kann die Bilder nicht wie gewünscht anzeigen. Das Bild zeigt die Dateistruktur und ich versuche auf diese aus der Datei jsGold.js zuzugreifen. Es funktionierte gut, bis ich bestimmte Dateien in ein neues Projekt zur Bereinigung extrahierte, daher vermute ich, dass die Änderung im Dateipfad dieses Problem verursacht haben könnte.Datei Pfad in JavaScript für Bilder

File Structure

Codezeilen in jsGold.js Datei:

else { 
    streamData.push(clickedId, streamName, streamDef); 
    var prop = $('<img class="prop" src="../../Images/prop.ico" />').attr('id', i); 
    newAgent.text(streamData[nameIndex]).append('<img class="cancel" src="../../Images/delete.ico"/>').append(prop); 

Die Ausgabe, die ich erhalte ist:

Output

gewünschte Ausgabe:

Desired Output

+2

Ich würde den 'src' Pfad erwarten sollte relativ zur aktuellen Seite sein, auf der JS ausgeführt wird, nicht zum Speicherort der JS-Datei. Also 'src =" ../ Bilder/prop.ico "'. – nnnnnn

+0

Der Pfad bezieht sich auf die Datei, die JS ausführt, nicht auf die JS-Datei selbst. Wenn Ihre JS-Datei beispielsweise in checkon.html enthalten ist, lautet der Pfad "../ Images/prop.ico". – Christophe

+0

Warum verwenden Sie nicht (root) relative URLs, also /Images/prop.ico? Auf diese Weise ist es einfacher, den Pfad zu lesen, und der Pfad ist unabhängig vom Speicherort der javascript/html-Dateien identisch. – softius

Antwort

1

Der relative Pfad von Ihnen img Tag sollte relativ zum Stamm Ihrer Website, nicht relativ zu dem Ordner Ihres Skripts sein.

var prop = $('<img class="prop" src="/Images/prop.ico" />').attr('id', i); 

Wenn Sie von Views, direkt von der Festplatte und nicht von einem Webserver, muss relativer Pfad relativ vom Views Ordner öffnen Sie die Seite,:

Sie verwenden sollen. Also muss man es so schreiben:

var prop = $('<img class="prop" src="../Images/prop.ico" />').attr('id', i); 
+0

* "Der relative Pfad Ihres img-Tags ist relativ zur Wurzel Ihrer Website" * - Nicht wenn er mit '../' beginnt. – nnnnnn

+0

Hängt es von der HTML-Seite ab, wo es geladen wird? – Teja

+0

@Teja Nein, denn wenn es mit einem '/' beginnt, verweist es auf den Stamm Ihrer Website. Jetzt, wenn Sie Ihre HTML-Seiten direkt von der Festplatte öffnen, ist es eine andere Sache ... –

0

Danke Jungs - die folgenden Werke, da ich die Datei von work.html in Ansichten bin Öffnen

var prop = $('<img class="prop" src="../Images/prop.ico" />').attr('id', i);