2016-07-25 7 views
0

Ich habe eine Web-Anwendung in NodeJS, die bestimmte Weiterleitungen in manchmal mit der Methode Meta-Refresh machen. Das Problem ist, dass diese Methode nicht mit Firefox kompatibel ist (in Firefox funktioniert Meta-Refresh nicht). Und ich brauche, dass die Umleitung in allen Browsern und Versionen gut geht. Ich verstehe, dass der beste Weg ist die Verwendung von window.location Methode, ist richtig?Ich muss diese Meta-Refresh-Redirect-Struktur in window.location-Methode ändern

Die Struktur des Codes, der die eigentliche Umleitung machen ist:

module.exports = (outcome) => { 
    return "(function(document) {"+ 
    "var meta = document.createElement('meta');"+ 
    "meta.setAttribute('http-equiv', 'refresh');"+ 
    "meta.setAttribute('content', '0;URL=" + outcome + "');"+ 
    "document.head.appendChild(meta);"+ 
    "})(document);"; 
} 

Wie würde der endgültige Code mit der window.location Methode?

Vielen Dank!

Antwort

0

Sie können window.location.href verwenden.

wäre ein einfaches Beispiel sein:

window.location.href = 'http://example.com'; 

Oder in Ihrer Funktion eingewickelt:

module.exports = (outcome) => { 
    return "(function(document) {"+ 
    "window.location.href='" + outcome + "';"+ 
    "})(document);"; 
} 
+0

Danke @Filype! Diese Arbeit ist in Ordnung, das Problem ist, dass es nicht in Safari (Desktop/Mobile) unter iFrame funktioniert. Weißt du, wie ich das lösen kann? –