これまでjavascript無効の人のために
<a href="test.html" onclick="test();return false;">link</a>
という感じで、無効の人はリンク先へ飛んで、有効の人はJavascriptを実行して処理する、といったコードを使っていました。
しかし、IE7では、onclickで false が帰ってきても、そのままリンクにいってしまうようで困っています。 IE6、Firefox2では思うように(onclickだけで止まる)動いてくれます。
もうこれは仕様のため、全面的に書き直さなければならないのでしょうか?
ご存じの方おられましたらご教示いただけると幸いです。
No.3ベストアンサー
- 回答日時:
test()の中でエラーになってるだけだと思ったのですが、、、?
test()はどの様な内容でしょうか?
<a href="aaa.html" onclick="return false;">検証</a>
これで動作が止まりますか?
IE6とIE7のチェックはどの様にされています?
パソコンを2台用意するとか、マルチブートしてるとか・・・
IE7 StandAloneを入れていると、動作がかなり変わるらしいですが、
インストールしていませんか?
http://tredosoft.com/IE7_standalone
今まで動いていたスクリプトがこれをインストールすると動かなくなったという話や、
CSSの表示の仕方も変わると聞いたことがあります。
もしそうなら、対策は、基本的にはIE7 Stand Aloneをアンインストールしかないと思います。
この回答への補足
test()はこちらの質問に投稿するために適当に書いただけなので、深い意味はありません。alert(123)でも同様になってしまいますので。
<a href="?test=1" onclick="return false;">Click me</a>
こんな形でテストしてみましたが、クリックすれば即リンクしていきます。
IE6とIE7のチェックはしていません。先週IE7にアップグレードするまえのIE6では同じコードで問題はありませんでした。
IE7は http://www.google.com/toolbar/ie7/intl/ja/ ここからダウンロードしてインストールしました。(ちょっとしたMSへの反抗^^;)本家とは何か違うのかもしれませんね。一度アンインストールしてIE6で再度確認したあと、本家版を入れてみようと思います。
驚いたことに、IE6にもどしても、同様の現象になってしまいました。
IE7にする前までは、firefox2とIE6の両方で検証しながら開発していたので、間違いなく正常に動いていたんですけど、IE7にアップグレードしたせいなのか、そのほかに手を加えたせいなのか、わかりませんが、設定か何か変わってしまったのかもしれません。
いろいろ設定をいじってみようと思います。
No.2
- 回答日時:
よくわからないですが、voidしてみては?
<a href="?test=1" onclick="void(alert(123));return false;">Click me</a>
この回答への補足
アドバイスいただきありがとうございます。
教えていただいたとおり、void をつけてみましたが、やはり変化はありませんでした。スクリプトの問題なのかブラウザの設定なのか、仕様なのか。新しいブラウザは難しいですね。
No.1
- 回答日時:
簡単なコードを書いて試してみましたが、IE7でそのような現象は確認できませんでした。
(return falseはちゃんと効く)IE7だけtest()の中でエラーが発生していてjavascriptの実行が中断された結果 hrefのurlに遷移しているのではないでしょうか?
この回答への補足
検証までしていただいて、ありがとうございます。
私のほうでももっと単純なコードで試してみました。
<a href="?test=1" onclick="alert(123);return false;">Click me</a>
これだと、123をalertして閉じたあと、?test=1 へ飛んでしまいました。この件についていろいろ検索してみたのですが、ほとんど情報もなく特殊な環境の時のみ発生するのかもしれませんね。
ちなみに、私の環境は、WindowsXP SP2 pro で IE7(7.0.5730.11IC) です。設定は比較的厳しくしている(ActiveXは常にダイアログなど)ので、なにか影響しているのかもしれません。alert()は動いているのでJavascriptは有効にはなっています。
原因がわかりましたので、ご報告させていただきます。
原因は、「インターネットオプション」の「詳細設定」の中の
「サードパーティ製のブラウザ拡張を有効にする」
という項目で、チェックを外すと return false が効くようになりました。
もっと自分で検証に時間をかけるべきでした。
ここでまとめてで申し訳ないですが、ご協力くださったsteel_gray様、yambejp様、taloo様、ありがとうございました。
もっともっとfirefoxのシェアが上がることを祈って締めさせていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
return trueとreturn falseの用...
-
Javascript? チェックボックス...
-
COBOLの数字チェック
-
JavaScriptde途中で、「exit」...
-
チェックボックスの有無判定
-
ドロップダウンリストボックス...
-
Javascriptの"return "について
-
Visual Studioのデザインでの非...
-
slickのレスポンシブ > center...
-
コピペを禁止するtextarea
-
ラジオボタンのNullチェック
-
onSubmit=の後ろは複数可能でし...
-
value内に変数を入れたい
-
<JavaScript>tableタグを入力不...
-
onchangeイベントを強制的に発...
-
hiddenのvalueの値を変えたい
-
画面表示とともに、テーブルの...
-
クリックさせたいが、click()が...
-
エクセル マクロ submitについて
-
JavaScriptのfileオブジェクト...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
return trueとreturn falseの用...
-
slickのレスポンシブ > center...
-
JavaScriptde途中で、「exit」...
-
フォームの入力チェックをする...
-
COBOLの数字チェック
-
コピペを禁止するtextarea
-
Visual Studioのデザインでの非...
-
TEXTAREAに入力した改行コード...
-
分岐数といえば
-
2次元配列で2項目についてソー...
-
変数の値によってsubmit後の動...
-
ラジオボタンのNullチェック
-
ツリービューのチェックボック...
-
未入力のラジオボタンに、alert...
-
【javascript】 年齢計算
-
テキストボックスに数字しか入...
-
チェックボックスの有無判定
-
IE7のJavascriptで return fals...
-
onsubmitイベントにfalseを返し...
-
JavaScript ログアウト処理
おすすめ情報