goo blog サービス終了のお知らせ 

DEVELOPMENTOR*LEARNING RESOURCE LAB.

ソフトウェア開発現場の視点からソフトウェアと開発者の価値を高める「ホットな何か」をお届けします。(休止)

scriptタグでリダイレクトが機能するか実験してみた

2007年01月07日 | Web 2.0

scriptタグのsrc属性に指定したURLがリダイレクトするとき、リダイレクト先のJavaScriptファイルがロードされるかどうか実験してみます。

はじめに手軽に実験するため、ApacheのErrorDocumentを使って、scriptタグが「302 Found(旧Moved Temporarily)」のリダイレクトをどう扱うか試してみました。使えるのならRewriteEngineのほうがよいかも。

↓次のとおり.htaccessファイルを用意しました。レスポンスコードが403と404のとき、指定のJavaScriptファイルにリダイレクトしています。また403x.jsをリクエストすると、「403 Forbidden」になるように制限しています。

.htaccess

<Files "403x.js">
Order allow,deny
Deny from all
</Files>
ErrorDocument 403 http://developmentor.lrlab.to/json/403.js
ErrorDocument 404 http://developmentor.lrlab.to/json/404.js

↓リダイレクト先のJavaScriptファイルは次のとおりです。

404.js
document.write('404.js');
403.js
document.write('403.js');

↓次のとおり、リダイレクトするようにURLを指定してみます。

<script type="text/javascript" src="403x.js"></script>
<script type="text/javascript" src="404x.js"></script>

あなたのブラウザでも試せるようにファイルを公開しておきます。↓こんな感じです。

View example (403)
View example (404)

今回は次のブラウザとバージョンで試してみました。いずれのブラウザも期待どおり、リダイレクト先のJavaScriptファイルをロードしてくれました。

  • Firefox/1.5 (Win32)
  • IE 6.0 (Win32)
  • Opera 9.10 (Win32)

どうやら他のブラウザも同じように振舞ってくれそうな感じですね。


最新の画像もっと見る