http://oshiete1.goo.ne.jp/qa3050617.html
でtalooさんにお返事をいただき、できた~!と書いて、
質問を締め切ってしまいましたが、talooさんが書いてくださっていた
>あらかじめeventを渡す必要があります。
というのを見落としていました。ごめんなさい!! (T-T)
うう、おっちょこちょいな自分を呪います。
IEでは、教えていただいたevent.preventDefaultを
第二引数を使わずに関数の中で使う方法でも、
希望通りの動作をしてくれました。
ですが、Mozillaではやはり小ウィンドウを出した後、
元のHTMLがページトップに戻ってしまいました。
もちろんMozillaでもtalooさんのおっしゃるように、
eventを第二引数としてhtml側から渡してやればOKでした。
逆に言えば、やはりHTML側の記述に変更を加えずに済む方法はない、ということなのでしょうか・・・?
たびたびすいませんがよろしくお願いいたします。m(_ _)m
No.1ベストアンサー
- 回答日時:
こんにちは
<script language="javascript">
<!--
function sWin(url) {
window.open(url,"win","width=300px,height=300px");
}
//-->
</script>
<a href="javascript:sWin('./popup.html')">link</a>
これでどうですか?
なるほど~。この書き方は見たことがありましたが、
実際には使ったことはありませんでした。
以前、学校でJavaScriptのコースを受講した際、
なぜ href="#" onclick="function()"のような
書き方をするかについて教わりました。
ステータスバーに別の仕掛けをしなくて済むので気に入っています。
ちなみにhref="javascript:..."と書く方法は標準仕様に照らして、
現在も今後も推奨されているものなのでしょうか?
だとすればぜひこれを採用したいと思うのですが・・・。
W3Cなど?で自分でも調べてみたいと思います。ありがとうございました!
No.4
- 回答日時:
> 逆に言えば、やはりHTML側の記述に変更を加えずに済む方法はない、ということなのでしょうか・・・?
<a href="#" onclick="sWin('popup.html')"> という記述の条件では私にはできません。
すでに試されていると思いますが、関数の中でwindow.eventを取得出来るのはIEだけで、
それ以外のブラウザではhref=""の動作を止めることは出来ませんでした。
> ちなみにhref="javascript:..."と書く方法は標準仕様に照らして、
> 現在も今後も推奨されているものなのでしょうか?
JavaScriptが使えない環境を考慮し、推奨はされていないと思いますが、
その問題をクリア出来るなら、特に問題はないと思います。
たとえばJavaScript専用ページでJavaScriptを使えない場合を考える必要はないですしね。
参考URL:http://www.gac.jp/article/index.php?stats=questi …
talooさん、またまたご回答をいただき、ありがとうございます。
関数の中で“とりあえず簡単に”書く方法はなさそう、とわかってすごくスッキリしました。
まだページの公開までには時間があるので、最終的に
talooさんのeventを第二引数で渡してやるか、
leap dayさんのjavascript:方式で書くか、
はたまたreturn falseにするか
もうちょっと考えてみますね。
何度もとてもご親切に教えてくださり、ありがとうございました!
No.3
- 回答日時:
<html>
<head>
<title>target="_blank"</title>
<script type="text/javascript">
document.onclick = target_blank;
nwp={
"width" :"auto", //ウインドウ幅 auto:ブラウザ任せ
"height" :"auto", //ウインドウ高さ auto:ブラウザ任せ
"directories":1, //ディレクトリバー 1:表示 0:非表示
"location" :1, //ロケーションバー 1:表示 0:非表示
"menubar" :1, //メニューバー 1:表示 0:非表示
"scrollbars" :1, //スクロールバー 1:表示 0:非表示
"status" :1, //ステータスバー 1:表示 0:非表示
"toolbar" :1, //ツールバー 1:表示 0:非表示
"resizable" :1 //ウインドウサイズ変更 1:可 0:不可
}
function target_blank(ev){
var ev = (ev) ? ev : event;
var el = (ev.srcElement) ? ev.srcElement : ev.target;
if(el.href){
var wo3a = '';
for(var i in nwp){
if(i == "resizable"){
wo3a += i + '=' + nwp[i];
}else if(i == "width"||i == "height"){
if(nwp[i] != "auto") wo3a += i + '=' + nwp[i] + ',';
}else{
wo3a += i + '=' + nwp[i] + ',';
}
}
var nw = window.open(el.href,"new",wo3a);
if(!nw){
alert('ポップアップがブロックされました。\n現在のウインドウにリンク先を表示します。');
window.location = el.href;
}
}
return false;
}
</script>
</head>
<body>
<a href="http://www.google.co.jp/">google</a>
<a href="http://www.yahoo.co.jp/ ">yahoo</a>
<span>aaaa</span>
</body>
</html>
たくさんの行のコードを書いてくださり、本当にありがとうございます。
今回の質問でも前のURLの引用ではなく、ちゃんとその全文を書くべきでした。ごめんなさい。
全てのリンクやクリックに対してではなく、指定のリンクに対してのみ、
(1) <a href="#" onclick="sWin('./file.html')">
という形で小ウィンドウを開くfunctionを起動したいのです。
ちなみにsWin()の現在の中身は、全く問題なく小ウィンドウを表示し、
最後にfocusを与えているだけのごくシンプルなものです。
そしてこの時、
(2) <a href="#" onclick="sWin('./file.html'); return false;">
と同じ動作を、sWin()に記述を加えるだけでできたら、と考えました。
それだとfunctionだけを修正し、HTMLには一切変更を加えずに済むので、
大変ありがたいな、と・・・。
素人なので、何か簡単な方法があるのかな、と思ったのですが、
どうやらそう簡単ではないようですね。(T-T)
やはり素直にreturn falseを一つ一つHTMLに書き足して行くか、
href="javascript:..."という書き方をさせていただくべきでしょうか・・・。
改めまして、return__さん、貴重なお時間をありがとうございました。m(_ _)m
No.2
- 回答日時:
<html>
<head>
<title>???<title>
<script type="text/javascript">
<!--
function test(t){
alert(t);
return false;
}
//-->
</script>
</head>
<body>
<a href="http://okwave.jp/" onclick="return test('AAA');">aaa</a>
</body>
</html>
お返事ありがとうございます。
私も最初は同じ発想になりましたが、
どうやらfunctionの中でのreturn falseと
イベントハンドラの中でのreturn falseとは
意味合いが違うようで、これでは希望通りの動作にはなりませんでした。(T-T)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- その他(ブログ) テレグラムをブログに埋め込むことはできますか? 1 2022/06/04 11:20
- HTML・CSS HTMLの・要素・属性・属性値 はプログラム言語の「変数」みたいに変更できますか? 5 2022/10/04 05:27
- 数学 時々、回答者の見識に疑念を抱いてしまうんです。私だって本当は皆様のことを疑いたくはありません。しかし 2 2022/11/27 12:23
- WordPress(ワードプレス) ワードプレスで、投稿一覧ページにタグを表示する方法 投稿につけたタグを、記事一覧ページにもカテゴリと 1 2023/05/10 21:41
- 日本語 「~人」と「~名」の使い分け 2 2022/06/02 11:59
- Excel(エクセル) VBA : スクレイピングできない 4 2023/05/12 22:26
- HTML・CSS Chrome のキャッシュについて 3 2022/05/26 07:50
- 教えて!goo ベストアンサーに選ぶと言って締め切り、選ばないのは 4 2023/04/29 07:48
- HTML・CSS WEBサイトの構築。表示データとWEBデザインを分離する考え方を専門用語・業界用語では何と言うか? 8 2022/09/27 09:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javascriptでタイトルバーを非...
-
指定時間になったら、WEBサイト...
-
モーダルダイアログから呼び元...
-
location.hrefの使用条件について
-
『入力文字列 + .html』 に...
-
エクセルでサイズに合ったもの...
-
htmlでテーブル内にテキストボ...
-
PDFへてのテキストボックスにて...
-
エクセルでサイズ指定でPOP...
-
バーコードのサイズは拡大縮小...
-
CSSのtransform: translate(-50...
-
Excel で等間隔で縦線を引きた...
-
iframeのスクロールバー:縦だ...
-
Excelの列や行の幅を表示...
-
インラインフレームの表示位置...
-
aタグに直接style=""で:hoverを...
-
コードを書いて下さい( ; ; )...
-
HTMLフォームのSELECTの幅を一...
-
エクセル 画面表示拡大率によ...
-
挿入した文字に枠をつけたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
指定時間になったら、WEBサイト...
-
window.close()で閉じられない
-
javascriptでタイトルバーを非...
-
window.openした時、親ウィンド...
-
サブウインドウを開くときのフ...
-
HTMLでブラウザを終了させる方法
-
location.hrefの使用条件について
-
『入力文字列 + .html』 に...
-
プルダウンメニューからインラ...
-
クリックで画像表示、さらに画...
-
直リンクを弾くJavaScriptについて
-
ブラウザの「戻る」を禁止したい
-
JavaScriptで画像を横移動
-
Javascriptで毎週月曜日深夜0:0...
-
window.open _self でとんでく...
-
「このページを閉じる」の設定...
-
自動的に小窓を開く
-
トランジション効果を使ったペ...
-
【続】 ポップアップ表示の後の...
-
ひとつのページから複数の小窓...
おすすめ情報