2017-09-19 6 views
0

Ich kann das Bild in einem neuen Fenster (nicht Tab) nicht öffnen.Zufallsbild in neuem Fenster öffnen

Dieses Skript wird in <head> gelegt:

<script type="text/javascript"> 

    function randomImg1() { 
    var myImage1 = new Array(); 
    myImage1[0] = "1.jpg"; 
    myImage1[1] = "2.jpg"; 
    myImage1[2] = "3.jpg"; 
    var random = Math.floor(Math.random() * myImage1.length); 
    document.getElementById("image").innerHTML = "<img src='" 
     + myImage1[random] + "' alt='image'></img>"; 

    } 

</script> 

Meine Taste in <body> platziert:

<button onclick="randomImg1();OpenInNewTab();">click</button>  
<div id="image"></div> 
+1

Sie schreiben ein Image-Tag in ein DOM-Element mit der ID "image". Probieren Sie stattdessen 'window.open (myImage1 [random])' '. Allerdings könnten Sie Probleme mit Popup-Blockern bekommen. – masterfloda

+0

wo im Code sollte ich hinzufügen window.open (myImage1 [random]) –

+0

ersetzen 'document.getElementById (" image "). InnerHTML =" image ";' mit 'window.open (myImage1 [random]);' – masterfloda

Antwort

0

Verwenden https://www.w3schools.com/jsref/met_win_open.asp ein neues Fenster zu öffnen. Fügen Sie den Parameter spec hinzu, um ihn als neues Fenster statt als Registerkarte zu öffnen. Stellen Sie sicher, dass Sie den vollständigen Pfad des Bilds übergeben:

<script type="text/javascript"> 

    function randomImg1() { 
    var myImage1 = new Array(); 
    myImage1[0] = "1.jpg"; 
    myImage1[1] = "2.jpg"; 
    myImage1[2] = "3.jpg"; 
    var random = Math.floor(Math.random() * myImage1.length); 
    // create the full image URL 
    var imageUrl = window.location.protocol + '//' + window.location.host + window.location.pathname + myImage1[random]; 
    // open in a new window. ideally use the image's size for w and h 
    window.open(imageUrl, '_blank', 'height=300,width=300'); 
    } 
</script> 
Verwandte Themen