2016-09-24 6 views
0

Ich versuche, Hintergrund von div mit codierten Bild, es ist schwarzen Hintergrund zu div hinzufügen, aber es zeigt in CSS, wenn ich es inspiziert Chrom.Coded Bild zum Hintergrund von div

Hier ist Javascript-Code.

var myDiv = document.createElement("div"); 
var imgPath = "http://127.0.0.1:8888/service/file/download/hd1.jpg?code=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjU3ZTYwOTMyOWE5MmQ0MGEwNzk5YzZmYiJ9.H78qRMZNOfWxVnA8mbybQD5Yh1ZBVRhRQgzFNmJMVvs"; 
$(myDiv).css("background-image", "url(" + imagPath + ")"); 

Jede Hilfe wird geschätzt. Vielen Dank.

+0

haben Sie einen Tippfehler in Zeile 3? "imagPath" sollte "imgPath" sein – SalkinD

+0

Ist die Frage, wie ein Hintergrundbild eingefügt wird oder wie verhindert wird, dass jemand das Bild in einem Inspektor sehen kann? Oder war das auch ein Tippfehler? "Aber es zeigt sich in CSS, als ich es in Chrom inspizierte"? – Assimilater

+0

es ist eine Art verschlüsselter Pfad, wenn ich diesen Pfad in img-Tag einfügen dann ist zeigt Bild in diesem Tag, und wenn ich diese codierte URL im Browser einfügen, lädt es Bild mit respektierten Bildnamen, der vor? Code –

Antwort

0

so das Hintergrundbild funktioniert nicht mit CSS-Funktion. Wenn Sie

$(myDiv).css("background") 

tun werden Sie alle Hintergrund bezogenen Eigenschaften als String durch Leerzeichen getrennt erhalten wie „background-repeat-Eigenschaft background-image-Eigenschaft“, was Sie tun können, ist speichern diese Zeichenfolge als eine Variable und verketten es mit url (imagePath) string und in CSS-Funktion stellen Sie die Hintergrund-Eigenschaft auf den oben concanated Zeichenfolge so der obige Code

sein
var backgroundString = $(myDiv).css("background") 
    var urlString = "url("+imagePath+")" 
    backgroundString = backgroundString+urlString 
    $(myDiv).css("background",backgroundString) 

das funktioniert gut, wenn Sie keine Hintergrund-Bild haben, aber wenn Sie einen Hintergrund -image musst du den vorhandenen url-teil durch regex ersetzen.

var backgroundString = $(myDiv).css("background").replace(/url\(\"(http)(s)+\:\/\/\w+.+/,'') 
+0

ich schätze deine bemühungen, aber ist immer noch schwarzen hintergrund dieses div. –

+0

versuchen, das in eine Funktion in SetTimeout setzen – user3013823

+0

immer noch nicht Bild zeigt :( –