2013-08-29 9 views
8

Ich versuche, den gleichen Code von http://jsbin.com/ufufez/1/edit in meine Umgebung zu implementieren, und es funktioniert nicht in IE. Kann jemand andere Lösungen dafür geben, damit es in IE> 8 funktioniert.Alternative Btoa-Codierung in Internet Explorer

+0

Bitte beachten Sie http://StackOverflow.com/Questions/11524268/atob-not-working-in- Dies kann Ihnen helfen –

+0

funktioniert gut in IE9 http://jsbin.com/ufufez/1 –

+0

jsbin.com/ufufez/1 öffnet nicht. Kannst du mir einen anderen Link geben? – user2728834

Antwort

12

window.btoa() wird nicht unterstützt < = IE9.

Es gibt einige Alternativen, aber ich denke, man jQuery.base64.js wie unten

if (window.btoa) { 
    msg.dataEncoded = window.btoa(msg.data); 
} else { //for <= IE9 
    msg.dataEncoded = jQuery.base64.encode(msg.data); 
} 
0

Dies ist kein Problem mit btoa() aber mit Datenschema Unterstützung und es won't work in IE (der Code in IE8 funktioniert gut) verwenden kann, 8:

Das Datenschema wird von Opera 7.20 und höher, sowie Safari und Konqueror unterstützt. Internet Explorer 7 und darunter unterstützt jedoch derzeit nicht . Internet Explorer 8 und höher unterstützt nur Daten URIs für Bilder in CSS, < link> und < img>

Daher <a href="data:text/xml;base64,...">download</a> den Download in IE8 nicht starten.

Damit es in IE8 funktioniert, müssen Sie es auf der Serverseite lösen (erstellen Sie dort eine temporäre XML-Datei und erstellen Sie eine Standardverknüpfung ohne das Datenschema).