1

わかりました。これには長い歴史がありますが、要点は、クライアント側のテキストを少し作成して「test.lbl」というファイルにダウンロードする必要があるということです。サーバー側にアクセスできないと仮定します。

次のコード(coffeescript)は、Blobを作成し、それをデータURLに変換してから、リンクをクリックすることでこれを行います。これは、デスクトップChromeブラウザでうまく機能します。ただし、Android Chrome(正確なバージョンはわかりませんが、2013年3月5日時点でGoogle App Storeからインストールしたばかりです)では、これは単に機能しません。Android Chromeでは、ファイルのダウンロードが開始され、その後スピンします。(実際、ブラウザを閉じた後でも、かなりの時間「進行中」に表示されます。)

これがAndroidで機能しない理由を知っている人はいますか?おそらく、mimeタイプが異なると、ファイルをダウンロードできるようになりますか?必要なサイト固有のセキュリティ設定を緩和できるように、内部タブレットを扱っています。

または、これを完全に回避するためのより良い方法はありますか?(クライアント側で生成されたテキストファイルのダウンロード)

ありがとう

$("#get-label").on 'click', (e) ->
  e.preventDefault()
  bb = new Blob(['test test test'], {type:'text/plain'})
  evt = document.createEvent("HTMLEvents")
  evt.initEvent("click")
  $("<a>", {download: 'test.lbl', href: webkitURL.createObjectURL(bb)}).get(0).dispatchEvent(evt)
4

1 に答える 1