JavaScript

特定のページへリダイレクトする

metaタグを利用することで、指定した数秒後に特定のページへ遷移させることが可能になります。
古いサイト上で新しいサイトのurlを知らせるときに使用するケースが多い。

下記サンプルの秒数の場所に半角で秒数、ページのURLのいところに遷移先のURLを記述することが重要である。
また念のため、自動的にジャンプしない環境を考慮して、JavaScriptでさらにページ遷移の処理を記述しておくとよい。

 
<!doctype html>
<html lang="ja">
<head>
<meta http-equiv="refresh" content="秒数;URL=ページのURL">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
(function (){
    location.pathname.replace('ページのURL');
}());
</script>
<title></title>

</head>
<body></body>
</html>

iphoneでスクロールをさせない処理をする

PCサイトでスクロールを禁止させるには、bodyoverflow: hidden;をかけることでスクロールができなくなります。
一部Android端末ではこの実装で問題ありませんが、iOSで困ったことにスクロールができてしまうのです。

ここでjQueryの出番です。

スマホの独自イベントのtouchmoveイベントを切ってスクロールを止めることができます。

方法は下記になります。

$(window).on('touchmove.noScroll', function(e) {
    e.preventDefault();
});

また、途中のタイミングでスクロールさせたくなったら、off()すればいいのです。

$(window).off('.noScroll');

イベント名に、.noScrollとありますが、これはイベントに名前をつけたものです。

名前を付けるこで、他の部分でtouchmoveイベントを使っていたとしても、そのtouchmoveイベントまでイベントをoff()してしまうこともなく、.noScrollの名前のイベントのみをoff()することができます。