JavaScript

JSからJSにリダイレクト風

More than 1 year has passed since last update.

ゆるふわ開発でJavaScriptをビルドするたびサーバに上げて検証してたけど面倒になった。

  • サーバのドメインで動かしたい
  • htmlは変えたくない
  • サーバの挙動(リダイレクト設定など)を変えるのは気が引ける
  • 自動化めんどい

で、JSからJSへのリダイレクトっぽいことできないかと思ってたら案外簡単にできたのでメモ。

document.writeでスクリプトタグを挿入すると、その場でscriptタグを読みに行って実行してくれる。
これを利用してJSのリダイレクトっぽいことができる。

サーバにおいたapp.jsを読むふりしてローカルのapp.js読ませる例。

Before

www.yourserver.com/index.html
...
<script src="app.js"></script>
...
www.yourserver.com/app.js
console.log('hello!');
...

before.png

After

www.yourserver.com/index.html
...
<script src="app.js"></script>
...
www.yourserver.com/app.js
document.write('<script src="http://yourpc/app.js"></script>');
yourpc/app.js
console.log('hello!');
...

after.png

二段読込み中ブロッキングしっぱなしで遅いので、あくまで一時的な利用に留めよう。