0

私はこの関数をjqueryで書いています。

var str1 = "This is a sample text";
var url = "data:text/csv;charset=utf-8," + str1;
self.downloadURL(url);

「downloadUrl」関数の定義は次のとおりです。

  self.downloadURL = function (url) {
            var iframe = $("#hiddenDownloader");
        if (iframe.length == 0) {
            iframe = $('<iframe/>', {
                id: "hiddenDownloader",
                style: {
                    display: 'none'
                }
            }).appendTo(document.body);
        }               
        $(iframe).attr("src", url); // i guess this line is the culprit.       
    }

この機能は、ローカル マシンで特定のテキストを開く/保存するために [開く/保存] ダイアログ ボックスを開くことにより、Firefox で正常に動作します。

ただし、IE 9 では動作せず、No error, No responseです。ただ黙っている。

4

2 に答える 2

0

SO を確認すると、属性や iframe ではなく、場所を直接変更しようとしているようです。

そのようです:

iframe[0].contentWindow.location.href = url;

編集

バグではなく、明らかにセキュリティ機能です: http://msdn.microsoft.com/en-us/library/cc848897(v=vs.85).aspx

そのページの 3 番目のコメントを見てください。

DATA URI をナビゲートできない (たとえば、IFRAME のソースとして使用できない) という制限はそのままです。

于 2013-09-06T11:51:34.093 に答える