タブプラウザでの新しいタブのオープンについて



0   名前: ひろ : 2007/06/04(月) 01:26  ID:ihmXNzLK sub-t1
ボタンをクリックすると(最大化した)新しい画面(タブ)が開き、その画面にフォーカスが
移動するという意図で下記のhtmlファイルを作成しました。
Firefoxで、新規にタブ("newgamen")を開く場合はうまくいくのですが、"newgamen"と
いうタブが既に開いた状態で元のボタンを再クリックしてもフォーカスが既にある
"newgamen"に移動しません。何か良い解決方法があれば教えてください。
(IE6はタブブラウザでないので意図通りに動作するのですが。)

<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
<script type="text/javascript">
<!--
function newgamen(){
w=window.open("newgamen.html","newgamen");
w.moveTo(0,0);
w.resizeTo(window.screen.availWidth, window.screen.availHeight);
}
-->
</script>
</head>
<body>
<input type="button" onclick="newgamen()" value="新画面" />
</body>
</html>

1   名前: 元帥 : 2007/06/04(月) 01:26  [URL]  ID:QmF/WLgc sub-.y
focusメソッドを試すとどうなりますか?

# ブラウザによってはフォーカス制御を含むウインドウ操作全般を禁止に出来ます。
# また、Firefoxには新しいタブをバックグラウンドで開くというチェック項目があった気がするのですが。
# そもそもスクリプトOFFは考慮しなくていいのですか?

2   名前: ひろ : 2007/06/04(月) 01:26  ID:ihmXNzLK sub-t1
返信ありがとうございます。
w.focus()を関数newgamenの最後に挿入しても結果は同じようです。
(最初はコードにいれてあったんですが、あってもなくても同じ?ならと
いうことで除きました。)
確かにクライアントサイドでブラウザのウインドウ操作を禁止すること
ができるようですが、ブラウザを可能な限りうまく動作するように設定
したつもりでもうまくいかなくて困っています。
(イントラネット利用を想定しており、スクリプトOFFはまったく考慮外です。)
Firefoxのツール→オプション→タブで、次に項目にチェックが付いています。
・新しいタブで開く
・リンクを新しいタブで開いたとき、すぐにそのタブへ切り替える

新しい画面タブAを開くときに問題があるのではなく、画面タブAが既に開いて
おり、別画面タブBで画面タブAの内容を変更した場合、画面タブAへフォーカスが
切り替わらなくて困っています。ですから、別画面タブBで画面タブAを閉じる
操作を行い、再度画面タブAを作成した場合は開くと同時にフォーカスが画面タブA
へ移動するのでうまくいくのですが、この画面タブAを閉じる動作が非常に無駄に
感じられるのです。しかも閉じるとタブの順番が変わってしまいます。

これは最新のIE7のタブ動作でも同じことが起こってしまいます。

3   名前: 元帥 : 2007/06/04(月) 01:26  [URL]  ID:qfDibX78 sub-bK
どうやら、ブラウザの仕様だと思われます。
Mozilla/Firefox限定で良いなら、openの第三引数に手を加えてみてはどうでしょうか?
指定するオプションは"modal"辺りと、focusメソッド、後はFirefoxのオプション設定のJavaScriptの詳細設定でどうにかなるかなと思います。

参考:
◆モーダルウィンドウをポップアップする
http://www.din.or.jp/~hagi3/JavaScript/JSTips/MozTips.htm

4   名前: ひろ : 2007/06/04(月) 01:26  ID:ihmXNzLK sub-t1
お返事ありがとうございます。
なかなかタブブラウザの画面を操るのは難しいみたいです。
確かに、アクセスするページによってはブラウザの中を引っ掻き回される
恐れもあり、そのような仕様になっているのだと思います。
しばらくは、タブではなく、新しいウインドウを開く方向で考えてみます。

一覧へ戻る