• 締切済み

キーボード ナビゲーションに付いて

html の勉強中でいろいろ調べていますが http://www.amy.hi-ho.ne.jp/mizuy/gl/keyNavi.htm でキーボード ナビゲーションの使用方法が有りましたのでいろいろテストしましたが フレームされた内容に対してのコントロールが出来ませんで、こまっています てんキーで出来る Home End PageUp PageDown の指定をキーボード ナビゲーションで処理可能ですか(Home Endは、フレーム分割していない場合うまく動きます) 可能でしたら教えて下さい よろしくお願いします

みんなの回答

回答No.3

#2 の「回答に対するお礼」での記述に対して。 window.parent.s.location.href = "#b_a1"; 動作している場所 の親(parent) の処の s という名称の場所で表示している内容(location) のアドレス(href) に対して値を代入する(= "#b_a1") という記述ですが? s の内容を変更する処理が例示されているので s の内容が変わる事は自然と思われます。 これが親に記述されて親で動作している場合は、 window.self.s.location.href = "#b_a1"; と同等となり window.s.location.href = "#b_a1"; と同等を意味します。 また、これが子の s に記述されてそこで動作している場合は、 window.self.location.href = "#b_a1"; と同等となり window.location.href = "#b_a1"; と同等を意味します。 そして、これが子の m に記述されてそこで動作している場合は、 s に対しての代入なので、同等の処理は他に記述がありません。 つまり、どこで何が動作しているか全てのパターンを把握し 個々のパターン別に処理を用意してあげなければならないので、非常に面倒です。 例示でもどのソースに対しての処理記述かが提示されていない処から推測して その処理場所の配慮が意図とずれているのではないかと思います。

katu0021
質問者

お礼

再度回答有難うございます <SCRIPT type="text/javascript"><!-- var Key = new Array(); Key[0] = "s/isi_01.htm"; function checkCSRKey() if (event.keyCode == 49) parent.s.location.href = Key[0] + '#b_a1'; //1 は表示ページの最後の表示 if (event.keyCode == 55) parent.s.location.href = Key[0] + '#a_t2'; //7 は表示ページの最初の表示 } window.document.onkeydown = checkCSRKey; // --></SCRIPT></HEAD>  <FRAMESET rows="92%,*" frameborder="NO" border="0"><FRAME src="s/isi_01.htm" name="s"><FRAME src="s_up01.htm" SCROLLING="no" name="m">   上記内容は、親フレームの指定で テンキーのEndとHomeの指定です  No2のお礼で記述内容をいろいろテストした結果上記指定でうまくいきました(フレーム分割して上記sフレームに制御が無くても動きました)  テンキーのPageUpとPageDownにトライしてみようと思います

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

#1の者ですが、 そもそも フレーム 自体が何故必要なのかが検討ポイントです。 フレーム とは、親のソースがあり それが子のソースを呼んで表示するものです。 <frameset cols="140,*"> <frame src="./sample02.htm" name="snmKofrMenu"> <frame src="./sample03.htm" name="snmKofrMain"> <noframes> </noframes> </frameset> 上記の様な sample01.htm があったとして、表示処理をした後、キー操作がされた時にそのキー操作がどれを意図しての操作か、ただ表示しただけでは判りません。 例示では sample03.htm をメインと意識しているので 操作は全てそのページを意識して行われている物として 処理するという考え方が出来ますが。 で、その場合、sample01.htm ではそのソースが拾ったキー操作を判断して window.snmKofrMain.location.href の内容で メイン に何が表示されているか判断しその内容を更新する事によってそのページを遷移させます。 sample02.htm では、window.parent.snmKofrMain.location.href の内容で メイン に何が表示されているか判断しその内容を更新する事によってそのページを遷移させます。 top がその窓の一番上,parent がその動作する処の1つ上,self が自分自身を表し、その動作が親(上がない)場合はtop, parent, self 共に同じです。 普段は self は省略されています。 で、面倒なのが、もし snmKofrMain に sample04.htm が表示される場合、 sample01.htm, sample02.htm はそのパターンも考慮しなければいけないので手間です。 それよりも、JavaScript が無効とか フレーム未対応とか 障害者にやさしいと考えると 結局は、よりシンプルなページ作成が一番の様ですが。 その上で便利な追加機能として考えるしかないかと。

参考URL:
http://www.tohoho-web.com/js/window.htm
katu0021
質問者

お礼

再度回答有難うございます >結局は、よりシンプルなページ作成が一番の様ですが。 参考URLによりをシンプルなフレーム分割は掲示板等のCGIを使用しない場合は、何とか動きますが  NN4とIEの共通キーに対するキーコードを見ると数字と英字の大文字のみ対応しません  CNTL+英字も英字と同一キーコードですので簡単に調べても8個使用できない等の問題も有ります <SCRIPT type="text/javascript"><!-- function checkCSRKey() if (event.keyCode == 49) window.parent.s.location.href = "#b_a1"; //1 は表示ページの最後の表示 if (event.keyCode == 55) window.parent.s.location.href = "#a_t2"; //7 は表示ページの最初の表示 } window.document.onkeydown = checkCSRKey; // --></SCRIPT></HEAD>  <FRAMESET rows="92%,*" frameborder="NO" border="0"><FRAME src="s/isi_01.htm" name="s"><FRAME src="s_up01.htm" SCROLLING="no" name="m"> でテストすると1をキーインするとname="m"の内容2個になってしまいました if (event.keyCode == 49) location.href = "#b_a1"; //1 は表示ページの最後の表示 if (event.keyCode == 55) location.href = "#a_t2"; //7 は表示ページの最初の表示 で指定するとなぜか正常に起動します。

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

たぶん可能だと思いますが、 たぶん大変面倒になるかと・・・。 まずプログラムですから、どこで動くかを意識しないと。 で、フレームでのキー操作がどこでアクティブ?になっているか??? フレームの親でキー操作がされていたとして フレームの子は複数あるのか? 複数ある場合にどこに対しての処理として振り分けるのか??? それらの事が決められる状態であるのなら 次はプログラムがそれを認識したり制御できるか??? window.フレーム名.location.href の内容で何がフレームに表示されているか判断し、制御する処理を親フレームに記述する・・・。 尚、フレーム分割に於いて、それぞれのページにナビがある場合は、親にキー操作された場合にどのページに対してのキー操作と割り振りが困難となる為に ナビは不可というか操作側の意図が適切に表せなくなるので要注意です。 (左右に分けた場合で操作側は右を次へ遷移させたいと思い操作して左が遷移しては・・・。)

katu0021
質問者

お礼

回答有難うございます window.フレーム名.location.href との記述有りましたがフレームに制御けんが渉ると機能するのですか location.href でどのような指定が出来るか不明で質問ししました 何かlocation.hrefの仕様説明のホームページ等有りましたら教えて下さい 特にlocation.hrefでのtargetの指定方法 障害者にやさしいホームページ作成は簡単に出来ないのですか??

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Let's noteのキーボード割り当て変更

     Let's note CF-S10を使っています。OSは、Windows7 Professional 64bit SP1です。  右手だけで PageUp, PageDown, Home, End キーが操作できるように、右CtrlキーをFnキーとして機能させたいのですが、可能でしょうか?(ちなみに、ChangeKeyというソフトでは、ノートPCでよくあるFnキーのあるキーボードには対応していないようなので、割り当て変更はできませんでした。)  もし可能ならば、その方法を教えて下さい。よろしくお願いします。

  • win8 ファンクションキー割り当て

    新しいPCを買ったのですが、pageup pagedown home end といったよく使っていたキーが独立したキーとして割り当てられていないため非常に不便に感じております。 そこで、ファンクションキーの割り当てを行おうとおもうのですが、調べてもちょうどいい記事が出てきません。どうやって行うのかご存知でしたら教えていただけますでしょうか? 宜しくお願い致します。

  • OSXのターミナルでHome,Endを使うには?

    職場で使っているApple キーボードではHome,End,Pageup,Pagedownがなかったので Windowsキーボードを持ってきて認識させたのですが MacのターミナルでHome,Endが使えないことがわかりました 職場ではzsh+emacsで作業しているので、Home,Endで行頭、行末に移動させたいのですが 同じようなことをやってみた方はいらっしゃらないでしょうか?

  • キーボードの押しっぱなし改造について

    自宅のWindows8用に以下のキーボードを購入しました。 ・Sculpt Mobile Keyboard T9T-00023 http://kakaku.com/item/K0000427967/ このキーボードはデフォルトでF1~F12キーが押せず、 「Fnキーを押しながらF5を押す」(更新ボタン) という2つのボタンを押さないとF5が押せないという貧弱な機能になっています。 そこで。 あまりFnキーを多用する方ではないので、 Fnキーを押しっぱなしにしたいと思います。 何か改造的な方法で結構ですので、ご教授頂けないでしょうか? ツール等はFnキー機能に効果が無いことは知っていますので、 壊れてもいいから改造に踏み切りたいと思います。 (じゃぁ、そんなキーボード使うなよ!と言われそうですが、  テンキー無しのコンパクトにもかかわらず、  home/end/PageUp/PageDownが押せる魅力的なキーボードなので、  使い続けたいのです。。。) よろしくお願いします。

  • Ctrlキー+HomeキーでセルA1へ移動できない

    Excelのキー操作によるアクティブセルの移動で出来ない操作があります。 例えば ● Ctrlキー+HomeキーでセルA1へ移動する           ● Ctrlキー+Endキーでデータの入力されている四角い範囲の一番右下の       セルに移動する           ● Shiftキー+Homeキーで選択範囲を行の先頭まで拡張する     ● PageDownキー・・・・1画面下にスクロールする     ● PageUpキーで・・・1画面上にスクロールする           ● Alt +  PageDown・・・1画面右にスクロールする     ● Alt +  PageUp・・・1画面左にスクロールする OSはWindows2000です。 何故こんなに出来ない操作があるのでしょう。教えてください!      

  • BIOSでのみ、pageup、downが効かない

    http://dynabook.com/pc/catalog/ss/091110rx/spec.htm この機種です。 久しぶりにBIOSを見ようとしたら、BIOSのページめくりが出来なくなっていました。 PAGEUP、PAGEDOWNキーで2ページ目へ遷移するはずなのですが、反応しません。 PAGEUPは、FNキー+「↑」キー PAGEDOWNは、FNキー+「↓」キー です。 なぜか、EXIT(FNキー+「→」)だけは出来ます。 WINDOWS起動後の、PAGEUP/DOWN(画面スクロール)や、FNキー+「F*」のサブ機能は正常です。 BIOS段階での不具合ですから、インストールしているプログラムの影響とは思えないのですが。 (キーボードカスタマイズソフトを入れています) メーカーサポートに聞くと、「有償修理」と言われたのですが、ホントにどうしようもありませんか?

  • ワイヤレスキーボードを探しています。

    今使っているワイヤレスキーボードが、あるPCで認識できなくて困っています。 いかにも、標準配列なワイヤレスキーボードを探しています。 条件は ・一般のキーとファンクションキーの大きさが一緒 ・ファンクションキーがF1~F4、F5~F8、F9~F12と分離されていること ・文字の配列が、1文字も異なることなく、きちんと標準配列になっていること。 ・Insert/Delete/Home/End/PageUp/PageDown が、横3、縦2の配列でその順番に配列されていること ・可能であれば、余計なマルチメディアショートカットキーがないこと ・(ムリだろう・・106キーボードであること。汗) ・余計なカーブがないもの。 ご参考までに・・・ 以前、Logicoolから完全に該当するキーボードがあったのですが、高価だったため、購入をためらっていたら、発売中止になり、Logicool社にも現在該当のキーボードはありません。(まだ未購入) Microsoft社製のは、明らかにキー配列が異なるので論外です。(一度購入したのですが、即手放しました) AOpen製の「3点どう?」は、Deleteキーより右のキーの配列が異なり、」 の文字の位置が異なるのでまともに使えませんでした。(一応所持) アキハバラの怪しい店においてあったキーボードマウスセット(中国製ノーブランド)は、正しくキー配列があっていたのですが、マウスが使えず、PCに正常に認識される率が低かったです。(現在メインで使用)

  • キーボードの特定のキーを操作不能にする方法を教えていただけますか?

    会社で使っているパソコンが、DELLのVOSTRO 1500という機種です。 このノートパソコンなのですが、、エンターキーのすぐ右に PageUp PageDown のボタンがあり、エンターを押そうとすると 間違って押してしまい、作業効率が悪いです。 キーボードの特定のキーを無効化する方法というのはあるのでしょうか?

  • MACのキーボードのhelpキーが邪魔です

    入力してる時に誤って教えてしまっていちいちヘルプ画面が出てくるのが嫌です どうやったらキーを無効にできるでしょうか? OSはMAC OS10.6です キーボードは、昔のMACのUSBキーボードを使用しています bluetoothではなく、エンターキーよりも右にF13、F14、F15のキーとhelp、home、 page up、 del、 end、 pagedownキーと、方向キーがあり、それよりも右にはテンキーが付いてるタイプのキーボードです 仕事柄、キーボードを多用するので困っています

    • 締切済み
    • Mac
  • キーマップ変更ツールでこんな変更はできますか?

    HYBRIDシリーズにおいて、キーマップ変更ツールを使って、以下のようなキー設定をすることは可能ですか? [Fn] + [↑] = [PageUP] [Fn] + [↓] = [PageDown] [Fn] + [←] = [Home] [Fn] + [→] = [End] [半/全] → [Fn] ※OKWAVEより補足:「「ScanSnap/fiシリーズ/HHKB」商品について」についての質問です。