2018-12-04

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

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

$(function(){

    var $body = $("body").html(
        "<div><p>このページは下記へ引っ越しました。</p>" +
        "<p>5秒後に自動的にジャンプします。</p>" +
        "<p>ジャンプしない場合は以下のURLをクリックしてください。</p>" +
        "</div>"
    ).css({
        textAlign: "center"
    });

    var http = "http://s10-4bn.sunnyday.jp/" + location.href.slice(54);
    //  "http://s10-4bn.sunnyday.jp/"が転送先
    if (http.slice(-1) == "/" ) {  // アドレスのindex.htmlが省略されていた時に対応する
        http += "index.html";
    }

    var $http = $("<a href=" + http + ">" + http + "</a>").css({
        textAlign: "center",
        fontWeight: "bold"
    }).appendTo($body);

    setTimeout(function(){
        location.href=http;
    },1000*5);

});

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

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

別ファイルのjavascriptを読み込んでいないhtmlファイルの場合
<html>
<head>
<meta charset=UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>ジャンプ</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script>

$(function(){

    var $body = $("body").html(
        "<div><p>このページは下記へ引っ越しました。</p>" +
        "<p>5秒後に自動的にジャンプします。</p>" +
        "<p>ジャンプしない場合は以下のURLをクリックしてください。</p>" +
        "</div>"
    ).css({
        textAlign: "center"
    });

    var http = "http://s10-4bn.sunnyday.jp/" + location.href.slice(54);
    //  "http://s10-4bn.sunnyday.jp/"が転送先
    if (http.slice(-1) == "/" ) { // アドレスのindex.htmlが省略されていた時に対応する
        http += "index.html";
    }

    var $http = $("<a href=" + http + ">" + http + "</a>").css({
        textAlign: "center",
        fontWeight: "bold"
    }).appendTo($body);

    setTimeout(function(){
        location.href=http;
    },1000*5);

});

</script>
</head>

<body></body>

</html>


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

サンプル


以上