JavaScript Java Bild als Variable

maddingamer

Cadet 3rd Year
Registriert
Mai 2014
Beiträge
49
Hallo liebe Community, ich habe mal ein wenig mit Java rumprobiert und wollte hier ein bild als variable einfuegen. Leider bin ich daran gescheitert, da ich die angegebenen Vorlagen (Visual Studio 2012) nicht ganz verstanden habe. Ich bitte deswegen um Hilfe.

Hier die Vorlagen:

Code:
// Diese drei Zeichenfolgen codieren Platzhalterbilder. Sie sollten die
// backgroundImage-Eigenschaft in den echten Daten als URLs zu Bildern festlegen.

var darkGray = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXY3B0cPoPAANMAcOba1BlAAAAAElFTkSuQmCC";

        var lightGray = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXY7h4+cp/AAhpA3h+ANDKAAAAAElFTkSuQmCC";

        var mediumGray = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXY5g8dcZ/AAY/AsAlWFQ+AAAAAElFTkSuQmCC";
Und hier nun was ich einfuegen wollte, was allerdings nicht funktioniert.

Code:
var background_logo = "<img sr="C:\Users\Martin\Desktop\logo.png" alt="Logo" title="logo" />";


Ich sage schonmal vielen Dank :)
 
Du musst die " auch escapen mit \, sonst ist nach dem 2. Anführungszeichen Schluss.
Und die \ in dem Dateipfad ebenso, dann \\.

also:
Code:
var background_logo = "<img src=\"C:\\Users\\Martin\\Desktop\\logo.png\" alt=\"Logo\" title=\"logo\" />";
 
Zuletzt bearbeitet:
1. Java != JavaScript. Du verwendest hier JavaScript, schreibst aber etwas von Java. Gaaanz großer Unterschied.
2. Wie dude90 sagte musst du Sonderzeichen wie Anführungszeichen escapen.
3. Du hast nen Schreibfehler im img-Tag. Dort steht <img sr=", es muss aber <img src=" heißen.

PS: wenn du eines der Platzhalterbilder einbinden willst, dann musst du den Code so schreiben:

Code:
var background_logo = "<img src=\"" + lightGray + "\" alt=\"Logo\" title=\"logo\" />";

oder

Code:
var background_logo = '<img src="' + lightGray + '" alt="Logo" title="logo" />';

(bei einfachen Anführungszeichen kannst du im String selbst doppelte Anführungszeichen verwenden, ohne diese escapen zu müssen.
 
Zuletzt bearbeitet:
Hmmm... Warum wird hier wieder die JavaScript Keule ausgepackt?

Genau dafür ist doch CSS da...

Drei klassen:

.darkGrey{background-color: RGBA Farbe hier rein;}
.lightGray{background-color: RGBA Farbe hier rein;}
.mediumGray{background-color: RGBA Farbe hier rein;}

Das ganze in:

<img class="darkGrey / mediumGray / lightGrey" src="XYZ.png">
 
Die Grautoene will ich ja gar nicht. Das sind ja nur Vorlagen. Ich möchte (vorerst) nur das logo einsetzen anstelle der farbflaeche.

EDIT: Funktioniert soweit, allerdings wird das bild nicht richtig angezeigt.
(Es erscheint lediglich ein kleines "X" an der Stelle, wo das Bild sein sollte...)
 
Zuletzt bearbeitet:
Warum entwickelst du JavaScript im Visual Studio?^^

Pack deine Base64-Kodierte Bilder in CSS wie folgt:
Code:
background-image: url("data:image/gif;base64,R0lGODlhQABAAPz8qihnfPy8vb29czIxrOtqs3Jx8K9uvLx8aWemvHvAVALEDP9jhgx4EsQAoIADs=");

PS: es geht auch ohne escaping:
Code:
var background_logo = "<img src='C:\Users\Martin\Desktop\logo.png' alt='Logo' title='logo' />";
 
Wie gesagt, ich will NUR das logo.png, nichts anderes, und ja Visual Stdudio :D

Anstelle des Bildes wird nur ein kleines x angezeigt, jmd eine Idee?
 
Hi,

Rechtsklick -> Bild anzeigen -> URL prüfen

Oder poste mal direkt die HTML Datei, dann kann man direkt nachsehen wo der Fehler ist.

VG,
Mad
 
Der erste Schritt wäre: Pfade so definieren, wie es alle anderen auch tun....
1.) niemals absolut zum Dateisystem, immer absolut zum Seitenursprung oder relativ
2.) in Unix-Notation, nicht in diesem Microsoft-Schwachsinn. \ ist ein Escape-Zeichen, / ein Pfade-Segment...
 
[ChAoZ] schrieb:
Warum entwickelst du JavaScript im Visual Studio?^^
Warum nicht? Visual Studio hat seit über 10 Jahren einen der besten* JavaScript-Debugger.

*nicht meine Worte, das hat sogar der selige Doug Crockford schon angemerkt :-)

Ein Tipp noch: Du kannst in JavaScript sowohl " als auch ' für Strings benutzen. Das jeweils andere muss dann nicht mehr escaped werden. Da HTML eher " verwendet, tust Du Dir beim dynamischen Erzeugen von HTML-Code leichter, wenn Du für Strings ' verwendest:

var myJsString = '<img src="test.png" />';
 
Zuletzt bearbeitet:
Zurück
Oben