2018-12-04

javascript:自動的に他のページにジャンプする

Yahoo!ジオシティーズが終了するのでホームページを引っ越し中です。
転送設定ができるというのでやってみたところ、どのページからもトップページにジャンプしてしまいました。
そこで、自動的に新しいサイトにジャンプするjavascriptを作りました。
以下がコードです。jQueryを使っています。

  1. $(function(){
  2.  
  3.     var $body = $("body").html(
  4.         "<div><p>このページは下記へ引っ越しました。</p>" +
  5.         "<p>5秒後に自動的にジャンプします。</p>" +
  6.         "<p>ジャンプしない場合は以下のURLをクリックしてください。</p>" +
  7.         "</div>"
  8.     ).css({
  9.         textAlign: "center"
  10.     });
  11.  
  12.     var http = "http://s10-4bn.sunnyday.jp/" + location.href.slice(54);
  13.     //  "http://s10-4bn.sunnyday.jp/"が転送先
  14.     if (http.slice(-1) == "/" ) {  // アドレスのindex.htmlが省略されていた時に対応する
  15.         http += "index.html";
  16.     }
  17.  
  18.     var $http = $("<a href=" + http + ">" + http + "</a>").css({
  19.         textAlign: "center",
  20.         fontWeight: "bold"
  21.     }).appendTo($body);
  22.  
  23.     setTimeout(function(){
  24.         location.href=http;
  25.     },1000*5);
  26.  
  27. });

たいてい別ファイルのjavascriptを読み込んでいたので、その中身を上のコードに置き換えました。

別ファイルのjavascriptを読み込んでいないhtmlファイルでは、以下のように直接<script></script>の間に上のコードを書き込みました。

別ファイルのjavascriptを読み込んでいないhtmlファイルの場合
  1. <html>
  2. <head>
  3. <meta charset=UTF-8">
  4. <meta name="viewport" content="width=device-width,initial-scale=1">
  5. <title>ジャンプ</title>
  6. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
  7. <script>
  8.  
  9. $(function(){
  10.  
  11.     var $body = $("body").html(
  12.         "<div><p>このページは下記へ引っ越しました。</p>" +
  13.         "<p>5秒後に自動的にジャンプします。</p>" +
  14.         "<p>ジャンプしない場合は以下のURLをクリックしてください。</p>" +
  15.         "</div>"
  16.     ).css({
  17.         textAlign: "center"
  18.     });
  19.  
  20.     var http = "http://s10-4bn.sunnyday.jp/" + location.href.slice(54);
  21.     //  "http://s10-4bn.sunnyday.jp/"が転送先
  22.     if (http.slice(-1) == "/" ) { // アドレスのindex.htmlが省略されていた時に対応する
  23.         http += "index.html";
  24.     }
  25.  
  26.     var $http = $("<a href=" + http + ">" + http + "</a>").css({
  27.         textAlign: "center",
  28.         fontWeight: "bold"
  29.     }).appendTo($body);
  30.  
  31.     setTimeout(function(){
  32.         location.href=http;
  33.     },1000*5);
  34.  
  35. });
  36.  
  37. </script>
  38. </head>
  39.  
  40. <body></body>
  41.  
  42. </html>


これで、どのページからも新しいサイトの同じページにジャンプします。

サンプル


以上