[解決済み] ローカルで実行するWebページで、ローカルファイルへのリンクを作成するにはどうすればよいですか?
質問内容
ハードディスクに散らばった特定のファイルを整理するhtmlファイルが欲しいです。例えば、2つのファイルをリンクさせたいと思います。
-
C:\Programs\sort.mw
-
C:\Videos\lecture.mp4
問題は、リンクがファイルへのショートカットとして機能するようにしたいことです。以下のように試してみました。
<a href="C:\Programs\sort.mw">Link 1</a>
<a href="C:\Videos\lecture.mp4">Link 2</a>
...しかし、最初のリンクは何もせず、2番目のリンクはVLCではなくChromeでファイルを開きます。
私の疑問は
-
リンクをファイルへのショートカットとして扱うために、HTMLを調整する方法はありますか?
-
HTMLを調整する方法がない場合、ハードディスク内に散在するファイルにきちんとリンクする他の方法はないのでしょうか?
私のパソコンのOSはWindows 7、ウェブブラウザはChromeです。
解決方法を教えてください。
を使用する必要があります。
file:///
プロトコル (そう、スラッシュが 3 つある) を使用して、ローカル ファイルにリンクすることができます。
<a href="file:///C:\Programs\sort.mw">Link 1</a>
<a href="file:///C:\Videos\lecture.mp4">Link 2</a>
これらは、ローカルのアプリケーションで自動的にファイルを開くことはありません。 それは、最後のセクションで説明するセキュリティ上の理由によるものです。もし開くとしたら、それはブラウザでしか開きません。ブラウザがファイルを表示できる場合は表示されますが、そうでない場合は、ファイルをダウンロードするかどうか尋ねられるでしょう。
http(s)からファイルプロトコルに渡ることはできない
多くのブラウザの最新版(FirefoxやChromeなど)は、悪意のある動作を防ぐために、http(s)プロトコルからファイルプロトコルへの移行を拒否しています。
これは、どこかのウェブサイトにホストされているウェブページが、あなたのハードドライブ上のファイルにリンクすることができないことを意味します。このようなことをしたい場合は、ファイルプロトコルを使用してローカルにウェブページを開く必要があります。
がないと動かないのはなぜ?
file:///
?
URLの最初の部分
はプロトコルです。プロトコルは数文字、コロン、スラッシュ2つです。
HTTP://
と
FTP://
は有効なプロトコルです。
C:/
はそうではないし、適切に似てもいないことは確かです。
C:/
も有効なウェブアドレスではありません。ブラウザは、このアドレスが
http://c/
に空白のポートが指定されていますが、これは失敗します。
ブラウザは、それがローカルファイルを参照しているとは考えないかもしれません。一般にウェブページは人のローカルファイルにリンクしようとしないので、そのように仮定する理由はほとんどありません。
ですから、ローカルファイルにアクセスしたい場合は、ファイルプロトコルを使用するように指示してください。
なぜスラッシュが3つなのか?
の一部だからです。
ファイルURIスキーム
. 最初の2つのスラッシュの後にホストを指定するオプションがあります。ホストの指定を省略した場合は、単に自分のPC上のファイルを参照しているとみなされます。つまり
file:///C:/etc
のショートカットです。
file://localhost/C:/etc
.
これらのファイルは、ブラウザで開くことができます。
ブラウザはこれらのファイルに対して、インターネット上のどこにでもある同じファイルに反応するのと同じように反応します。これらのファイル はありません。 デフォルトのファイルハンドラ(例:MS WordやVLC Media Player)で開くと はしません。 ファイルエクスプローラーにファイルの場所を開くように要求するようなことはできません。
これはセキュリティ上、非常に良いことです。
ブラウザ上のサイトは、OSとうまく対話することができません。もし、優れたサイトが、あなたのマシンに向かって 講義.mp4 で VLC.exe を開くように指示することができます。 virus.bat で CMD.exe . あるいは、あなたのマシンにいくつかの アンインストール.exe ファイルやファイル・エクスプローラーを何度も開いたりします。
これはあなたにとって便利ではないかもしれませんが、HTMLやブラウザのセキュリティは、あなたがやっていることを想定して作られたわけではありません。もし、あなたが 講義.mp4 で VLC.exe 代わりにデスクトップアプリケーションを書くことを検討してください。
関連
-
[解決済み] HTMLとCSSによるテーブルスクロール [重複]について
-
[解決済み] リンクのように動作するHTMLボタンを作成する方法
-
[解決済み] div' コンテナに合わせて画像を自動リサイズするにはどうしたらいいですか?
-
[解決済み] セレクトボックスのプレースホルダーを作成するにはどうすればよいですか?
-
[解決済み] フレックスアイテムを右寄せにするには?
-
[解決済み] Bootstrap 3 の sr-only とは何ですか?
-
[解決済み] HTMLのレイアウトにテーブルを使用しない理由は?[クローズド]
-
[解決済み] 携帯電話でWebページ内のリンクをクリックすると電話がかかってくるようにするには
-
[解決済み】ページの一部にリンクする方法は?(ハッシュ?)
-
[解決済み】標準的なhtmlファイル入力にファイルをドラッグドロップする。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
iframeフレームワークの使用
-
[解決済み] input type="file "ボタンのスタイリング
-
[解決済み] How can I set the default value for an HTML <select> element?
-
[解決済み] HTMLにPDFを埋め込むおすすめの方法とは?
-
[解決済み] divの内容を下に揃える方法
-
[解決済み] HTMLの "role "属性は何のためにあるのですか?
-
[解決済み] CSSでdivのアスペクト比を維持する
-
[解決済み] 複数のノンブレイキングスペース("nbsp")ではなく、タブスペースを使用しますか?
-
[解決済み] フレックスアイテムを右寄せにするには?
-
[解決済み] Webサイトのブラウザタブアイコン(ファビコン)を追加する方法を教えてください。