問題タブ [file-uri]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - コンテンツ URI とファイル URI: 今後何を使用するか?
私はアンドロイドカメラアプリ用に開発しており、いくつかのシナリオで uris を使用しました。たとえば、カメラから結果データを結果のために開始したアプリに戻す場合や、ユーザーが共有ボタンをクリックしたときに IntentChooser が開かれた場合などです。
今のところ、ほとんどの場合、File Uris を使用しました。これは、より安全なソリューションと思われるためです。ContentResolver と MediaStore を操作すると、常に問題が発生する可能性があります。さらに、コンテンツ URI をサポートしていなくても、ファイル URI をサポートしているアプリがかなり前にあったことを覚えています。
しかし、ユーザーが Android 6.0 で「ハングアウト」ファイルへのアクセス許可を与えないことを決定したため、File Uris で配信すると「ハングアウト」アプリがファイルにアクセスできないというメールが Google から届きました。
私の質問は次のとおりです。コンテンツを他のアプリに配信するときは、通常、ファイル URI からコンテンツ URI に切り替える必要がありますか? それが進むべき道であり、すべてのアプリがContent Urisに依存/サポートする必要がありますか?
cordova - 反応ルーターとコルドバが機能しない
React-router は、ローカル ファイル プロトコルで実行されるものを処理できないようです。
file:// の後の 3 番目のスラッシュをルートとして解釈します。
したがって、アプリを作成して file:///C:/myapp.html から実行しようとすると、
ルート /C:/myapp.html にアクセスしようとしていると見なされ、次のエラーがスローされます。
「警告: 場所 "/C:/myapp.html" はどのルートとも一致しません。
アプリがファイル プロトコル経由で提供されているときに、react-router を機能させる方法はありますか?
現時点では、ルーターはすべてをローカル ファイルとして提供するため、cordova/phonegap ではまったく機能しません。
html - ポンド記号 (#) を含むファイル URI への HTML アンカーが IE11 で開かない - target _blank を使用する場合
はい、# をエンコードしています。
使用できるネットワーク共有があれば、一緒に遊ぶことができます。以下をせよ:
ネットワーク共有に 2 つのフォルダーを作成します。# が入っているものと付いていないもの。私のフォルダ名は次のとおりです: z#Bernie2016およびzBernie2016
各フォルダー内に、テキストまたは何かを含む1つのファイルを入れます(こんにちは!と言っているいくつかの単純なhtmlファイルをまとめただけです)。
これをデスクトップ上のファイル (拡張子は .html) に入れます -- 申し訳ありませんが、括弧を小なり記号と大なり記号に変更する必要があります (15 分で、html を配置する方法を理解できないとは信じられません)。この投稿のコード. 迷惑. それについてのstackexchangeのスレッドを読んだ後でさえ. はい, 私はプリコードのものを使用しました. 確かに私はシステム全体をコーディングし、すべてを設計することができます - ポストのHTML? Naaah!):
[HTML]
[体]
[a Href="file://///共有サーバー名/z%23Bernie2016/zFeelTheBern.html" target="_blank"]file:///// with %23[/a][br]
[a Href="file://///共有サーバー名/zBernie2016/zFeelTheBern.html" target="_blank"]file:///// %23 なし[/a][br]
[a Href="file:///\\共有サーバー名\z%23Bernie2016\zFeelTheBern.html" target="_blank"]file:///\\ with %23[/a][br]
[a Href="file:///\\共有サーバー名\zBernie2016\zFeelTheBern.html" target="_blank"]file:///\\ %23なし[/a][br]
[/体]
[/HTML]
デスクトップからこの html ファイルを開きました。結果は次のとおりです。
Firefox (私は 43.0.4 を実行しています)
4つとも正常に開きます。問題ない。アドレス バーに次のいずれかが表示されます。
file://///共有サーバー名/zBernie2016/zFeelTheBern.html
また
ファイル://///共有サーバー名/z%23Bernie2016/zFeelTheBern.html
IE11
# フォルダーは開きません (「このページは表示できません」と表示されます) が、意志のないフォルダーです。
IE は、ファイル URI をいじるのが大好きです。これは、機能するアドレス バーに表示されるものです。
\\共有サーバー名\zBernie2016\zFeelTheBern.html
そして何がうまくいかないのですか:
\\共有サーバー名\z
# (または %23) にヒットして停止します。IE はまた、先頭の file:/// を削除し、スラッシュを逆にするのが大好きです。
編集: アンカーのターゲットが何かを傷つけているようです。target = _blank のものを削除すると、正常に動作します。私はそれが欲しいです。
android - WebView で "file:" スキーム リクエストをインターセプトする
JSコードをにロードしWebView
ます。このJSコードは、file:
スキーム uri を使用していくつかのファイルを要求します。これらのファイルは暗号化されて保存されており、 JSモジュールが要求するときに Java コード内でそれらを復号化したいと考えています。http:
これらのリクエストがスキームを介して行われる場合、ローカルの http サーバーをセットアップし、それを介して復号化されたコンテンツをJSモジュールに渡すことができることを知っています。スキームuriを使用して、復号化されたコンテンツをJSモジュールに渡す方法はありますか?file:
android - Cordova: 移動/コピー後にファイルが見つからない (ios & android)
media-capture プラグインでビデオを録画/選択し、video-editor プラグインで mp4 に変換し、ユーザーが選択を確認した後、このファイルをアプリ固有のメディア ディレクトリ (のようなもの/storage/emulated/0/APPNAME/Video/
) にコピー/移動します。
ユーザーがビデオファイルをすぐに開こうとすると、ネイティブビデオプレーヤーが開きますが、「ビデオを再生できませんでした」(Android の場合) などのメッセージが表示されconsole.log
、「ファイルが見つかりません」というエラーが表示されることを除いて、すべて正常に動作します。 "。
これは、iOS と Android の両方で発生します。このプラグインを使用して、動画ファイルをネイティブ プレーヤーで開きます。
アプリを終了して再度開くと、問題は消えます。したがって、問題は、システムがその新しいコピー/移動ファイルの存在を認識していないことだと思います。ファイルシステムを更新する方法はありますか?
openfile プラグインに渡すファイル URI を確認しましたが、動作する場合と動作しない場合は同じです。
HTML5 FileSystem を使用してファイルをコピー/移動します。
ファイルがコピー/移動されるまで待つので、これは問題ではありません。