jQueryMobileフレームワークを使用しています。Webサイトをホストするサーバーがあります。ユーザーはモバイルブラウザを介してWebサイトに接続し、そのWebサイトからファイル(.doc、.xls、.pdfなど)をダウンロードできます。JavaScriptを使用してプログラムでユーザーのモバイルに保存されているファイルを開く必要があります。を使って開こうとしましたlocation.href="file://sdcard/download/test.doc"
。しかし、それはうまくいきませんでした。許可が拒否されたことを示しました。これに方法はありますか?助けてください。前もって感謝します。
3 に答える
セキュリティ上の理由から、ブラウザはローカルファイルシステムへのすべてのアクセスをブロックします。これらのファイルにアクセスするには、他の拡張機能を使用する必要があります。または、ファイルシステムではなくローカル変数にダウンロードする必要があります。
通常の古いJavaScriptがファイルシステムにアクセスできれば、悪い人は本当に悪いことをもっと簡単かつ効率的に行うことができるでしょう。ブラウザを使用していない場合、いくつかの可能性があります。
http://www.c-point.com/JavaScript/articles/file_access_with_JavaScript.htm http://www.webreference.com/js/column71/
これらの記事はかなりプラットフォーム固有であり、セキュリティのベストプラクティスを活用していません。 買い手責任負担
純粋なWebベースのJavaScriptだけからファイルシステムにアクセスすることはできません。特に、クロスプラットフォームまたはクロスブラウザーの方法ではアクセスできません。ただし、Internet ExplorerのActiveXコントロール、Firefox拡張機能、およびJavaアプレットからファイルシステムにアクセスできます。これらはすべて、JavaScriptを使用して操作できる可能性があります。もちろん、最初にユーザーにActiveX、拡張機能、またはアプレットをブラウザにインストールしてもらう必要があります。
Javascriptでこれを行う方法はありません。ローカルファイルへのアクセスは、セキュリティ上の理由から断固として拒否されています。
要素を使用してファイルにリンクできます<a>
が、それでもほとんどのブラウザで無効になっています。