- ベストアンサー
ページを読み込む前にリダイレクトするには?
Greasemonkeyを使い、 var url = location.href; url = url.replace( 'http://domainOLD' , 'http://domainNEW' ); location.replace(url); として使っています。 ミラーサイトが時々Googleでヒットし困るため新しい方のドメインにジャンプするようにしています。 ただ、どうも、古い方のページに飛んだ時、すべてのHTMLを呼んで後でジャンプしているようで動作が非常に遅く困っています。 もっと素早くジャンプすることはできないものでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
No.2です。 google検索の結果に特化してよいなら、検索結果のページにおいて 古いドメインのリンク先を新しいリンク先に変えてしまうとか いち例ですが、 モンキーの対象ページ http://www.google.co.jp/search?* ユーザースクリプト var res=document.getElementById("res"); var link=res.getElementsByTagName("A"); alert(link.length); for (var i=0;i<link.length;i++){ if(link[i].getAttribute("href")=="http://domainOLD"){ link[i].setAttribute("href","http://domainNEW") } } ※正規表現を使って、もっときめ細かく、置換したい部分だけ 変えた方がいいんですが、正規表現苦手なもので....
その他の回答 (3)
- yyr446
- ベストアンサー率65% (870/1330)
No2です。失礼しました。私の質問文の解釈ミスでした。 自分のサイトを引っ越したのじゃなくて、 FirefoxであるURLを見る時、そのURLだけ新しい方のURLにリダイレクト したいという事かなあ~(この解釈もまちがっていそう) にしては、 「ミラーサイトが時々Googleでヒットし困る」の意味がよくわからん
- yyr446
- ベストアンサー率65% (870/1330)
メタタグ利用はどうですか? 古い方のページのヘッダーに <META HTTP-EQUIV="Refresh" CONTENT="1; URL=http://domainNEW" /> としてやれば、1秒後にhttp://domainNEWに異動する。
補足
回答いただきありがとうございます。 質問の仕方か、カテゴリが不適切だったかもしれませんが、 このjavascriptはブラウザの拡張機能で動作させています。 そのため、たぶん、メタタグでは無理だと思います。 もし、Greasemonkeyのことでいっておられましたら、 当方の勉強不足ですので、 スクリプト中にどのように記述すればよいかわかりますでしょうか? お手数ですが、宜しくお願い致します。
- yambejp
- ベストアンサー率51% (3827/7415)
それってjavascriptでやることではないのでは? 旧サーバーの稼働状況にもよりますが.htaccessなどが 生きているならサーバーサイドで無条件にリダイレクトしてください
お礼
回答いただきありがとうございます。 説明不足ですみません。 あるサイトを、Googleで検索すると、 domainOLD/page1.html がヒットします。ただ、このサイトは、最近、 domainNEW/page1.html という新しいドメインでサイトを作成しており、新しいドメインの方が現在は稼働しています。 古いサイトもヒットするため毎回、新しいサイトへ手動で飛ぶ必要があり、不便を感じます。 そこで、Firefoxで見る時、Greasemonkeyのスクリプトで、上記コードを実行して、常に新しいサイトへジャンプしているのですが、古いサイトのページをすべて読み込んだ後ジャンプするため改良できない物かと思っています。 なお、私はホームページの管理者とは一切無関係ですのでサーバサイドでの制御はできません。
お礼
回答いただきありがとうございます。 とても助かりました!