質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Internet Explorer

Internet Explorer(IE;MSIE)はマイクロソフトが開発したウェブブラウザです。Microsoft Windowsに組み込まれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

1145閲覧

IEのみ表示させるページを変更したい。

y_y1111

総合スコア13

Internet Explorer

Internet Explorer(IE;MSIE)はマイクロソフトが開発したウェブブラウザです。Microsoft Windowsに組み込まれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

1クリップ

投稿2019/02/20 03:57

編集2019/02/21 07:34

HP制作初心者です。お力添えください。

現在、リニューアル中のHPで、バージョン10以前のIEのみ、別のURLへリダイレクトさせたいと考えています。

<header>内に以下のJSを記入して振り分けたいのですが、うまくいきません。
<script> window.onload = function isIE() { let userAgent = window.navigator.userAgent.toLowerCase(); if (userAgent.indexOf('msie') >= 0 || userAgent.indexOf('trident') >= 0) { return true; } return false; } if (isIE == true){ location.href = "リダイレクトさせたいURL"; } else{ } </script>

恐れ入りますが、ご助言のほど、宜しくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yutampp

2019/02/20 03:59

if (isIE() == true){ かな
kei344

2019/02/20 04:02

(質問文は編集できます)質問文のコードはコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。
guest

回答2

0

ベストアンサー

別の質問のこの回答読んでもらえると分かるかもしれません。

関数の実行は()という風にお尻にカッコをつけるのがルール。

引数が存在しない場合は()という風に何も入れずにカッコを、
引数が存在する場合は(1, 2, 3)という風にカンマ区切りで値を入れた状態のカッコをお尻につけるルール。
autocompleteInit();に変更するだけで動くんじゃないかなぁ

でもonloadで実行したいということですよね?
わざわざ関数にして呼び出さなくても良いと思います。

js

1window.onload = function() { 2 let userAgent = window.navigator.userAgent.toLowerCase(); 3 if (userAgent.indexOf('msie') >= 0 || userAgent.indexOf('trident') >= 0) { 4 location.href = "リダイレクトさせたいURL"; 5 } 6} 7

投稿2019/02/20 04:08

m.ts10806

総合スコア80765

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2019/02/20 04:12

内容的にonloadを待つ必要すらない気がする。
m.ts10806

2019/02/20 04:15

むしろonload待つことで一瞬画面出てしまいますもんね。 サーバーサイドでの判定が確実です。
y_y1111

2019/02/20 04:30

ありがとうございました。いただいたコードで正常に動きました。 ところで、onloadを待つ必要がないとのことですが、 違うかもしれませんが、htaccessで可能ということでしょうか。 おっしゃっていただいているように、一瞬画面出てしまいます。 できれば改善したいのでもう少し、詳しく教えていただけないでしょうか? お願いいたします。
m.ts10806

2019/02/20 04:34 編集

↓を外してコードを<head>内に書いてください。 window.onload = function() { } onload は「画面の読み込みを待ってから」実行されるので 画面がいったん表示されます。 > htaccessで可能ということでしょうか 可能です。 https://qiita.com/yokoh9/items/2e23198294ba314b4b4b 私が書いた「サーバーサイドでの判定」はhtaccessもそうですが、 PHPなど、サーバーサイドでの言語での判定 というのを想定しています。
y_y1111

2019/02/20 04:38

ご回答ありがとうございます。画面が表示されなくなりました!ありがとうございます!!!
m.ts10806

2019/02/20 04:45

解決されたようで何よりです。(正確にはheadは読み込まれているので「完全に表示されない」ではないです) 既に解決はされていますが、「質問は編集できる」ということを覚えておいてください。 「質問への追記・修正の依頼」にコメントがあった場合は質問を編集して返すのが通例です。 (※解決後も編集は出来ます。コードブロックだけでも対応しておいてください)
guest

0

UA名による判定は、変更できるブラウザもあるのでできれば避けたいところです。
対象が IE10 以下ということであれば、古い IE だけ使える条件付きコンパイルという手があります。

JScript

1/*@cc_on 2 @if (11 > @_jscript_version) { 3 location.href = url; 4 } 5@end 6@*/

https://msdn.microsoft.com/library/121hztk3(v=vs.94).aspx

投稿2019/02/20 04:47

x_x

総合スコア13749

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問