- ベストアンサー
HP制作でASPを使用した場合のURL設定とは?
- HP制作でASPを使用する際、URL設定について簡略化することがあります。VBスクリプトを使用してURLを定義し、ページ内の画像やリンクにURLを挿入することで、URLの一部を短縮することができます。しかし、この方法はIIS以外のサーバーでは使用できません。
- 質問者はJavaScriptを使用して同様の方法を探しているようですが、具体的な方法や検索キーワードがわからないということです。
- JavaScriptを使用してURLを定義し、ページ内で参照する方法は特定の方法ではなく、様々な方法があります。質問者はインターネットで検索を試みましたが、具体的な情報が見つからなかったようです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1です。 ローカルでは平気だったのですが、外部サーバでは確かめてませんでした。 すみません。 いくつか原因がありそうな箇所を見てみましたが、 %GOOGLE% %BING% ここに問題があるようです。 IEのJavaScriptエンジンの実装は知らないので原因はわかりませんが、 URLで%はエスケープ文字として使われるので、その辺が関係してると思います。 他の文字列に変えてみてください。 あとテストだけならJavaScriptでもいいと思いますが、 本番で使うことを想定しているなら、 例えばPHPなど、他の広く使われているサーバ側スクリプトを使用したほうがいいです。 テキストブラウザなどJavaScriptの有効率が100%でないのと、 ソースを読み上げるようなブラウザだと正しく伝わらなかったり、 クライアントサイドはユーザの環境に依存するので問題が多いです。 ご質問内容のことも、サーバ側でなら簡単にできると思います。
その他の回答 (1)
- pnck
- ベストアンサー率90% (9/10)
そのようなやり方がJavaScriptで出来るかはわかりませんが、 例えば以下のようなスクリプトで代用可能だと思います。 <script> function urlReplace(url, str) { var a = document.getElementsByTagName("a"); var img = document.getElementsByTagName("img"); for (var i = 0; i < a.length; i++) { if (a[i].href.indexOf(str) > 0) { a[i].href = url + a[i].href.replace(a[i].href.substr(0, a[i].href.indexOf(str) + str.length), ""); } } for (var i = 0; i < img.length; i++) { if (img[i].src.indexOf(str) > 0) { img[i].src = url + img[i].src.replace(img[i].src.substr(0, img[i].src.indexOf(str) + str.length), ""); } } } window.onload = function() { urlReplace("http://www.google.co.jp/", "%GOOGLE%"); urlReplace("http://www.bing.com/", "%BING%"); } </script> <a href="%GOOGLE%">Google</a><br> <img src="%GOOGLE%intl/en_com/images/srpr/logo1w.png"><br> <a href="%BING%?cc=jp">BING</a><br><br> <img src="%BING%fd/s/a/h1.png"><br> 直接的な回答じゃなくてすみません。
お礼
ありがとうございます。 FireFoxでは上手くいったのですが、IE8で引数が不正とエラーがでて上手く動きませんでした。 とりあえず、これを参考に模索してみます。
お礼
ASP同様サーバーサイドなら問題ないですよね。汎用性を考えてJavaScriptだったのですが、PHPとか使えるレンタルサーバーも多いですから、そっちで検討してもいいかも知れませんね。 ありがとうございました。