CSVファイルのダウンロードがInternet Explorer11で機能していません11ページを別のページにリダイレクトする(Webページは表示できません) -- javascript フィールド と jquery フィールド 関連 問題

downloding csv file is not working in internet explorer11 it redirecting page into another page (web page cann't be displayed)












1
vote

問題

日本語

CSVファイルをダウンロードしていないため、現在のページを別のページにリダイレクトします(Webページは表示できません)

これはCSVファイルをダウンロードするためのコードです。

<事前> <コード> var fileName = "test"; var data = $(this).first(); //Only one table var a = document.createElement('a'); a.href = 'data:' + mimeType + ';charset=utf-8,' + escape(data); a.download = fileName; a.style = 'display:none'; if (navigator.msSaveBlob) { // IE 10+ var blob = new Blob([data], { "type": "text/csv;charset=utf-8;" }); navigator.msSaveBlob(blob, fileName); } document.body.appendChild(a); a.click(); document.body.removeChild(a);

このコードをデバッグした場合、その後ファイルをダウンロードすることを要求します。 画像の説明を入力します。

英語

It is not downloading csv file, it redirecting current page to another page (web page cann't be displayed)

This is code for downloading csv file

var fileName = "test"; var data = $(this).first(); //Only one table var a = document.createElement('a'); a.href = 'data:' + mimeType + ';charset=utf-8,' + escape(data); a.download = fileName; a.style = 'display:none';  if (navigator.msSaveBlob) { // IE 10+     var blob = new Blob([data], {         "type": "text/csv;charset=utf-8;"     });     navigator.msSaveBlob(blob, fileName); } document.body.appendChild(a); a.click(); document.body.removeChild(a); 

If I debug this code it ask for downloading a file after that go to the another page enter image description here

</div
     

回答リスト

1
 
vote

IEブラウザのための特別な取り扱いをしました。

しかし、 else ブロックに非IEコードを置く必要があります。

<事前> <コード> var fileName = "test"; var data = $(this).first(); //Only one table var mimeType = 'text/csv'; var a = document.createElement('a'); a.href = 'data:' + mimeType + ';charset=utf-8,' + escape(data); a.download = fileName; a.style = 'display:none'; if (navigator.msSaveBlob) { // IE 10+ var blob = new Blob([data], { "type": "text/csv;charset=utf-8;" }); navigator.msSaveBlob(blob, fileName); } else { // ELSE non-IE document.body.appendChild(a); a.click(); document.body.removeChild(a); }
 

You had special handling for IE browser.

But you need to put non-IE code in else block.

var fileName = "test"; var data = $(this).first(); //Only one table var mimeType = 'text/csv'; var a = document.createElement('a'); a.href = 'data:' + mimeType + ';charset=utf-8,' + escape(data); a.download = fileName; a.style = 'display:none';  if (navigator.msSaveBlob) { // IE 10+     var blob = new Blob([data], {         "type": "text/csv;charset=utf-8;"     });     navigator.msSaveBlob(blob, fileName); } else { // ELSE non-IE     document.body.appendChild(a);     a.click();     document.body.removeChild(a); } 
</div
 
 
0
 
vote

私たちはこのようにすることができます、RETURNステートメントを追加することができます、これはよりよく見る

<事前> <コード> var fileName = "test"; var data = $(this).first(); //Only one table var a = document.createElement('a'); a.href = 'data:' + mimeType + ';charset=utf-8,' + escape(data); a.download = fileName; a.style = 'display:none'; if (navigator.msSaveBlob) { // IE 10+ var blob = new Blob([data], { "type": "text/csv;charset=utf-8;" }); navigator.msSaveBlob(blob, fileName); return; } document.body.appendChild(a); a.click(); document.body.removeChild(a);
 

we can also do like this,we can add a return statement,this looks better

var fileName = "test"; var data = $(this).first(); //Only one table var a = document.createElement('a'); a.href = 'data:' + mimeType + ';charset=utf-8,' + escape(data); a.download = fileName; a.style = 'display:none';  if (navigator.msSaveBlob) { // IE 10+     var blob = new Blob([data], {         "type": "text/csv;charset=utf-8;"     });     navigator.msSaveBlob(blob, fileName);    return; } document.body.appendChild(a); a.click(); document.body.removeChild(a); 
</div
 
 

関連する質問

1  $$ jQueryでは、これは何ですか?  ( In jquery whats this used for ) 
誰かが書くだけの場合: <事前> <コード> $("#downloadTabs>div").each(function(el) { el.setStyle("display", "none"); el.removeCla...

1279  jQueryでクッキーを設定/設定解除するにはどうすればよいですか。  ( How do i set unset a cookie with jquery ) 
jQueryを使用してCookieを設定して設定します。たとえば、 test という名前のクッキーを作成し、 1 ?に設定します。 ...

11  スライド後のjQueryスライダコール機能  ( Jquery slider call function after slide ) 
私はWebアプリケーション上でスコアを設定するために使用しているjQuery Silderを持っています。ユーザーが送信ボタンをクリックしたが、クライアントはAjaxスタイルを更新するようになったままにするようにOrignallyにいました。 これは見つけられ...

210  jQueryセレクタから$(これを)除外する方法は?  ( How can i exclude this from a jquery selector ) 
私はこのようなものを持っています: <事前> <コード> <div class="content"> <a href="#">A</a> </div> <div class="content"> <a href="#">B</a> </div>...

1  JsonResultの問題  ( Jsonresult problem ) 
これを返しているActionResultがあります。 <事前> <コード> @output4 JavaScriptでは、そのaticationResultによって返される値は "{" isDeleted ":true}"です。 私は何をしていますか? 編...

2  jQueryのAjaxForm  ( Ajaxform in jquery ) 
Ajaxformを使用しています。今私は問題に遭遇しました。私のアイデアは、ユーザーがユーザー名を入力したときに、誤ったユーザー名がユーザーにメッセージを報告する必要があります。 私のコードはうまくいっていますが、ユーザーに表示されたレポートメッセージの後、...

2  OnClick HandlerをMake Linksのクリックを無視します  ( Make onclick handler ignore clicks on links ) 
ブロック要素のカスタムオンクロックハンドラ(jQueryの.click()メソッドを介して設定)。このブロック要素にはリンクを含めることができます。 これはかなり確信があるので、クリックしたリンクである場合(リンクが私のコードを実行せずに訪問されるように)ハン...

0  リスト項目でディスクを取り除く  ( Getting rid of disc in list item ) 
jQueryを使用してサイトを開発し、jQuery UIタブを作成しています。何らかの理由で、私のタブ(順序付けられていないリスト)は、OS XのFirefox 3を除くすべてのブラウザ(これまでにテスト済み)に弾丸を表示しています.Safari OS X、...

0  jQuery、属性フィルタセレクタ、および正確に_which_要素をクリックした  ( Jquery attribute filter selectors and finding out exactly which element was c ) 
私はこのjqueryがうまく機能する <事前> <コード> $("li[id^='shop_id']").click( function () { alert("I clicked on id ??"); }); 'shop_id'でIDを持つ...

0  jQueryの$ .click()内のインデックス番号を取得する方法  ( How to get index number inside click of jquery ) 
<事前> <コード> $("span.ws_label").click(function() { }) セレクタ「span.ws_label」選択した5つの要素、 そのうちの1つをクリックしたとき、 実際にどれを知るか? 編集 I索引やそのIDを...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有