WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:スクロールバー非表示について

0:[投稿] ようこ [2003/11/20 17:10 ][環境:win2000、ie5 javascript]

javascriptです。
メインページから
<a href="別画面.html" target="top">
で別画面を開いているのですが、その別画面のスクロールバーを非表示にしたいです。

self.scrollbars="no"
みたいな記述方法はないでしょうか?
教えてください
宜しくお願いします


1:[回答] 薫 [2003/11/20 17:30 ]

リファレンス本を買うか、解説サイトをbookmarkすることをお勧めします。
http://tohoho.wakusei.ne.jp/js/window.htm#OpenPage


2:[回答] ―― [2003/11/20 18:25 ]

>別画面を開いているのですが、その別画面の
別画面は開けません。開けるのはウィンドウです。

>スクロールバーを非表示にしたいです。
スクロールバーを非表示にすると、ユーザビリティ的に問題があるかもしれません。


3:[回答] gun [2003/11/21 09:19 ]

window.openを使えば実現できます。
スクロールバーの表示・非表示を切り替えるオプションについては
> 1
で提示されたURLで調べてみてください。

<a href="#" onClick="window.open('別画面.html', 'win2', 'オプション');">new window</a>


4:[回答] ―― [2003/11/21 09:54 ]

>>3
どうしてそういう残念な思いをさせるような例示を出しますか。
<a href="foo.html" target="bar"
onclick="window.open(this.href, this.target, 'scrollbars=no');return false;">new window</a>


5:[完了] ようこ [2003/11/21 09:57 ]

gunさん、薫さん、ありがとうございます
できました!


6:[完了] ―― [2003/11/21 10:23 ]

もし >>3 の例示を参考にされたのなら残念でなりません…
ここの回答者の常連はユーザビリティとか、
アクセシビリティとかはどうでもよいと考えているのでしょうか。
それとも「初心者はそんな細かい事まで知らなくてもよい」とでも考えているのでしょうか。
単に知識不足なのかもしれませんが――どちらにしろ残念な思いを致しました。


7:[完了] [2003/11/21 16:37 ]

>>6
だったらそんな残念なウィンドウを出す例じゃなく
メニューバーやステータスバーを表示させる例を出せばいいのに。


8:[完了] mei [2003/11/21 16:40 ]

言い捨てるだけでなく、どうして残念な思いをするのかきちんと説明したらいかがですか?
少なくとも最初の>2は解決に至る回答になっていないので、無視されても致し方ないのではないかと思うのですが。


9:[完了] 薫 [2003/11/21 17:14 ]

>4は href="#" が気に入らないんですよね?
それだと確か、環境によって(IEだったかな?)リロードされたように見え、
クライアントに「ヘンじゃない?」と言われた事があります。
「残念かどうか」より「選択肢のひとつ」として挙げてもられえば良かったのに...、とは思いますね。
# そんな私はリンク提示だけですが :-p


10:[完了] やちまた [2003/11/21 17:40 ]

>それだと確か、環境によって(IEだったかな?)リロードされたように見え、
>クライアントに「ヘンじゃない?」と言われた事があります。

私も上記の理由で <a> と onclick を併用する場合はhref には void(0) を入れて、
onclick は関数を呼ぶだけにしてます。


11:[完了] [2003/11/21 17:49 ]

>>9, >>10
それは href="#" であることよりも
onclick で return false; してないことの方が根本的な原因かと…。


12:[完了] やちまた [2003/11/21 18:11 ]

>11

そうですね。
<a> が return を見てくれるのだから、その方が正道なのかもしれませんね。
submit を使う時は当然のように return false してますし。


ただ >4 の例で言うなら foo.html は window.open に直接記述しても良いわけで、href に記述するのは相応しく無いように思えます。
であれば、href には void(0) を記述して・・・というのが私には良いように見えてしまいます。


ここ数年来の経験で、<a> の時は href に void(0) するのが自分の中で決め事になってるみたいです。
onclick に直接コードを記述するのが、見難くて好きじゃないっていうのはありますけどね。
それはあんまり関係無いか。


13:[完了] にわとり [2003/11/21 18:39 ]

こういう事でしょ
http://chaichan.hp.infoseek.co.jp/qa3000/qa3384.htm
世の中にはテキストブラウザって言うのも存在します。


14:[完了] AC [2003/11/21 20:53 ]

>>13
むしろ、IEでJavaScriptをオフにしていただとか、
コンテクストメニューから新規ウインドウで開こうとして残念な思いを
することのほうが多いです。


15:[完了] ―― [2003/11/21 22:10 ]

>>9-12
やはり無知である事がはっきりと解かりました。

WCAG 1.0 [優先度1] のチェックポイント
>スクリプトやアプレット、その他のプログラムが動作しないように設定されていたりサポートされていない場合でも、そのページが利用できるようにする。もし、それができないのであれば、アクセシブルな別のページを作成して同等の役割を果たす情報を提供する。
http://www.zspc.com/documents/wcag10/index.html#tech-text-equivalent

スクリプトが有効なのを前提にして話題を進めているいる段階で
おかしいのではないかと思いました。ポップアップ抑止機能というものもありますし。

WCAG 1.0 [優先度2] のチェックポイント
>ユーザーエージェントで新しいウインドウを開かない設定ができるようになるまでは、ユーザーに知らせることなしに新しいウインドウを開いたり現在のウインドウを変更しないようにする。
http://www.zspc.com/documents/wcag10/index.html#tech-avoid-pop-ups

そもそも target属性や window.open()メソッドや scrollbars=no の指定自体が
余り宜しくないのですが、強いて利用するなら“最低限の配慮”はして頂きたいものです。

>スクリプトとアプレットを使用する場合は、イベントハンドラが入力装置に依存しないようにする。
http://www.zspc.com/documents/wcag10/index.html#tech-keyboard-operable-scripts
>スクリプトを使用する場合は、装置に依存するイベントハンドラではなく、論理イベントハンドラを指定する。
http://www.zspc.com/documents/wcag10/index.html#tech-device-independent-events

本来はこの記述の通り onkeypress属性も併記すべきですが、
既存のブラウザの多くは、Enterキーを押しても onclickイベントが
発生してしまうのであえて記述しませんでした。
もしイベントが発動しなくても、普通にリンク先を参照できますし。

実際に WCAG に従うか否かは個人の自由ですが、
Webコンテンツ制作者だったらせめて一度は読んで頂きたいと思いました。
http://www.zspc.com/documents/index.html
http://www.kanzaki.com/docs/html/accessible.html


16:[完了] ―― [2003/11/21 22:30 ]

>>7
>メニューバーやステータスバーを表示させる例を出せばいいのに。
御意。確かに上述の例のままでは確かに不便ですね。
適宜工夫して利用して頂けるかな思って、端折ってしまいました。
でも後で「すべて記述しておくべきだったな」と後悔しました。


17:[完了] [2003/11/21 23:32 ]

> 実際に WCAG に従うか否かは個人の自由ですが、
自由とか言っといて従ってない他人を無知呼ばわりってのも強気だなー。
俺はあんたの言う通り無知には違いないので構わないけど。

> 適宜工夫して利用して頂けるかな思って、端折ってしまいました。
他人の発言についてもこの類のことを想定してみては。余計なこと言う前に。


18:[完了] gun [2003/11/22 00:18 ]

> 3
回答には、私の無知のため、return false;を付けておりませ
んでした。ご訂正どうもありがとうございました。
後学の足しにさせていただきます。

ただ、
> 2
のような回答をして、今回の投稿者が理解できると思ったのか
多いに疑問でしたし、後の回答が繋がらないと思ったので私も
回答を付けさせていただいた次第でした。

ただ、貴方の理想とするスクリプト・Webの常識から外れたス
クリプトを提示することは、これほどにも罪深いこととは存じ
上げませんでした。申し訳ありません。
よろしくご容赦願います。

また、私が同じ過ちを犯さないように、今後は是非、貴方が
常に私より素早く、私より完璧な回答を、投稿者が具体的に
理解できる回答を提示してくださるようお願い致します。

貴方が素早く完璧で具体的な回答してくださるということで、
この掲示板も安泰ですね。


19:[完了] ―― [2003/11/22 01:15 ]

>回答には、私の無知のため、return false;を付けておりませんでした。ご訂正どうもありがとうございました。
そういう問題ではないでしょう。

> >> 2 のような回答をして、今回の投稿者が理解できると思ったのか多いに疑問でしたし
理解できなくても、気になれば調べることぐらいはできると思いますが。

>ただ、貴方の理想とするスクリプト・Webの常識から外れたスクリプトを提示することは、これほどにも罪深いこととは存じ上げませんでした。申し訳ありません。
私が「理想とするスクリプト・Webの常識」ではありません。WWW の発明者である Tim Berners-Lee氏が結成した W3C の WAI という部門が推奨していることを、一つの方法として提案したに過ぎません。それと管理人のちゃいぱさんも「これからは、アクセシビリティをつねに心がけていきましょう」と啓蒙されていることなのですが。勘違いも甚だしい。

>また、私が同じ過ちを犯さないように、今後は是非、貴方が常に私より素早く、私より完璧な回を、投稿者が具体的に理解できる回答を提示してくださるようお願い致します。
どうしてそういう皮肉を言いますか。
私が「常に」貴方より「より素早く、私より完璧な回を、投稿者が具体的に理解できる回答を提示」する義務はありません。それに >>2 の件の通り私は人に教えるのが巧くありません。多くの回答者がより適切に解説できるように成ればよいです。そちらの方が余程「この掲示板も安泰」になることでしょう。


20:[完了] ―― [2003/11/22 02:11 ]

>>2 の発言は、気になれば調べてくれるかなって程度の思惑です。
後は誰かが適切に回答しれくれるだろうと思っていたら、
見事に裏切られたので残念な思いを致しましたということです。

>>4 の発言は、gun氏に対する意見であって、
回答者に対しての例示という意味合いは薄いです。

あと>>4 の記述法は、ばけら氏のリソースが元ネタです。
http://www.ne.jp/asahi/minazuki/bakera/html/opinion/zannen2


21:[関連] gamecafe [URL] [2003/11/22 02:52 ]

言論の自由を認めてあげるから
 表現の自由も認めなさいよ 笑
ただし、他人を不愉快にする書き込みはいかがなものか

<BODY style="overflow: hidden;">
こんなのも有り?

最近では、小中学生でもホームページをもてる時代ですよ
この手のいわゆる お助け掲示板で、回答も示さずウンチクだけと言うのも感心しませんネ。

知識をひけらかして、ディベートに持ち込みたいのなら
http://www.atmarkit.co.jp/bbs/phpBB/index.php
この辺でしたらよろしいかと


22:[回答] gun [2003/11/22 03:12 ]

ここ掲示板は、質問者も回答者も他にないほどユルくて、
それが動き易くて好きなんですけどね。


23:[関連] ―― [2003/11/22 05:32 ]

今更遅いのですが、私なら下記の様に提示したと思います。

----------------------------------------------------

JavaScript の window.open() を使えば実現できます。

<a href="別画面.html" target="top"
onclick="window.open(this.href, this.target,
'他の設定,scrollbars=no');return false;">new window</a>

この例の場合、JavaScript が無効な環境でもリンク先を開けるので親切です。

・ this というのは、このリンク自体を参照するという意味です。
・ スクロールバー以外のオプションは >>1 で提示された資料で調べてみてください。
・ return false というのは、通常のリンクとしても同時に機能してしまうのを避けるためです。

スクロールバーを非表示にすると、利用者の環境によってはウィンドウの中に
内容が収まり切らなくなり、ウィンドウ外部の内容にアクセス不可能になるかもしれません。
よく検討してから利用してみてください。

----------------------------------------------------

>>3 の様な例示は、回答者の後々を考えると不親切ではないでしょうか。
その場の目的を直ぐに達成するため“だけ”の例を提示するのでは、
そこら辺のトンデモなホームページ講座と大差ないではないですか。

私は、上記の様な気が利く例を提示してくれるような
良い掲示板だと思って安心していたのですが、どうやら違うようですね。

参考:『ポップアップウィンドウを考える』
http://homepage1.nifty.com/VET06031/web/popup.html


24:[回答] ―― [2003/11/22 06:03 ]

> >>3 の様な例示は、回答者の後々を考えると不親切ではないでしょうか。
「質問者」の間違い。


25:[関連] [2003/11/22 09:40 ]

>参考:『ポップアップウィンドウを考える』
このリソースについてなのでまあスレ違いだけど。
> onkeypress="Help('foobar.html');return false;"
onkeypressが発生するキーというのは標準仕様がなく、
このイベントハンドラを無条件にreturn false;するのは
実装によっては全てのキー操作を無効にして身動き取れなくなる立派な嫌がらせになります。
本人が配慮のつもりでやってるだけに涙を誘う状態になりかねませんので
まあ導入する場合は要注意です。


26:[回答] やちまた [2003/11/22 13:03 ]

>>>15

href にリンク先を指定して置いて、onclick では window.open と共に return false も記述しておく。

なるほどです。
であれば、スクリプトが動作する環境でも、しない環境でも、
同様の画面遷移が実現できるのですね。
こういった記述は知ら無かったので、勉強になりました。
週末にでもリンク先のページをじっくりと読んでみたいと思います。


>>>みなさんへ
私が例示した方法は、スクリプトが動作するという大前提でのみ有効な、
アクセシビリティが考慮されていないものでした。
申し訳ありませんでした。


私は回答者になるにはまだまだ未熟者だという事を痛感しました。
今後回答する場合には、更に慎重に行いたいと思います。

それでは。


27:[関連] || [2003/11/24 01:32 ]

「――」という名前でアクセシビリティの重要性を説くのはおかしい。
http://www.zspc.com/documents/wcag10/#tech-text-equivalent


28:[完了] gun [2003/11/26 09:39 ]

提示されたスクリプトには納得のいく裏付けがありましたが、
その回答の端々に、人をおちょくった言葉を織り交ぜ過ぎです。
また、わざと嘘を回答したように糾弾されたことは不快でした。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World