2009-04-28 10 views
0

Webサーバ(ファイルシステム内のhtmlファイルを参照)を使用せずに404エラーを傍受することは可能ですか?サーバなしのカスタム404エラー

私はいくつかのJavaScriptを試してみました。隠れたiframeを使用してリンク先ページをプリロードし、結果を確認してからカスタムエラーを発生させたり、正しいページにリダイレクトしたりしました。

これは問題なく動作しますが、パフォーマンスは良くありません。

+0

あなたのタイトルと質問が一致しません。 – Calvin

+0

申し訳ありませんが、私はlostinthought ... –

+0

それは起こります。ちょっと混乱していたので、ちょっと指摘しました。 – Calvin

答えて

5

404エラーはHTTPステータスの応答です。したがって、HTTPリクエスト/レスポンスを使用してこのファイルを取得しようとしている場合を除き、404エラーは発生しません。あなたは、あなたの提案する方法のようなものでのみ模倣することができます。 404エラーを処理する "標準的な"方法は、とにかくWebサーバーの好みに依存します...

1

なぜサーバーを使いたくないのですか?

404エラーがサーバー側のであるため、404エラーがクライアント側で処理される可能性はありません。

ウェブページを読み込むたびに、サーバーにリクエストします。したがって、そこにないファイルを要求すると、それはエラーを処理するサーバーです。通常のHTML/CSS/JavaScriptは、サーバーがファイルを見つけることができないことを伝える応答を返すときにのみ表示されます。

スティーブ

1

404 HTTPレスポンスコードであり、そのようなものとしてのみそれを話すサーバがHTTPプロトコルを介して送達されます。 file:// extensionは実際のプロトコルレスポンスではありません。ローカルファイルサポートを可能にするクライアント(ブラウザなど)に組み込まれたハックですが、ブラウザ/クライアント自身がファイルからレスポンスコードを公開するかどうかは異なります。 //実装。理論的には、例えばDOMでそれらを報告することができますが、それらは自分自身に公開されるレスポンスコードとなり、まれに実装されます。ほとんどの人はそうではなく、標準的な方法はありません。 Firefoxのようなブラウザの拡張機能を調べ、サポートしているかどうかを確認することもできますが、これは非常に標準的ではなく、Web上でポップすると破損する可能性があります。

関連する問題