2017-05-12 3 views
0

Ich mag diese Folge Situation habe:dynamisch eine leere iframe mit https-Protokoll zu schaffen

var i = document.createElement("iframe"); 
i.src = "about:blank"; 
i.addEventListener("load", function(){ 
console.log(i.contentWindow.document.location.protocol); 
}, false); 
vars.b.appendChild(i); 

Ich brauche document.location.protocol Rückkehr https: oder http: nach Seite verweisen, aber es kehrt immer about, ich kann diesen Befehl nicht ändern location.protocol Weil es eine dritte Partei ist, die es betreibt, also muss ich einen Weg zu diesem herausfinden und zurückgeben, was sie wollen.

Es hat eine reine Javascript-Lösung

Sie danken seine

Antwort

0

scheint der Trick die src das Protokoll von der Seite ihrer Erstellung einzustellen.

var i = document.createElement("iframe"); 

i.src = document.location.protocol; 

i.addEventListener("load", function() { 
    console.log(i.contentWindow.document.location.protocol); 
}, false); 

document.body.appendChild(i); 

Überprüfen Sie die Geige hier: https://jsfiddle.net/a8osacok/

Console https: protokolliert, wenn dieses Skript auf ausgeführt wird https://jsfiddle.net

+0

Ich habe es in einer realen Situation versucht, und es wird eine Endlosschleife verursachen und Diese Schleife ist sinnvoll, da src die aktuelle URL ist. Danke für deine Antwort, aber es hat nicht funktioniert "/ – Guhh

Verwandte Themen