JavaScript Java Bild als Variable

maddingamer

Cadet 3rd Year
Dabei seit
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 :)
 

dude90

Lt. Junior Grade
Dabei seit
März 2009
Beiträge
406
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:
S

Speedy.

Gast
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:

Cool Master

Fleet Admiral
Dabei seit
Dez. 2005
Beiträge
28.166
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">
 

maddingamer

Cadet 3rd Year
Ersteller dieses Themas
Dabei seit
Mai 2014
Beiträge
49
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:

[ChAoZ]

Captain
Dabei seit
Jan. 2010
Beiträge
3.858
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' />";
 

maddingamer

Cadet 3rd Year
Ersteller dieses Themas
Dabei seit
Mai 2014
Beiträge
49
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?
 

Madman1209

Fleet Admiral
Dabei seit
Nov. 2010
Beiträge
24.554
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
 

Daaron

Fleet Admiral
Dabei seit
Dez. 2011
Beiträge
13.487
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...
 

captmcneil

Ensign
Dabei seit
Juni 2005
Beiträge
189
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:
Top