• ベストアンサー

右クリックのショートカットメニューの指定

はじめまして。 あるサイトで右クリックすると、お気に入り登録、リロード、前に戻る、次に進むだけを独自のスタイルでかっこよく表示させているところがありました。 できたら私も右クリックのショートカットメニューを指定したものだけ表示したり、お気に入り登録を追加したりしたいのですがどのようにするのでしょうか。 ジャバスクリプトではないかとここに投稿させてもらいました。 どなたかわかりましたらぜひよろしくお願いしますm(_ _)m

質問者が選んだベストアンサー

  • ベストアンサー
  • ittochan
  • ベストアンサー率64% (2667/4137)
回答No.4

NNでは「ブックマークの追加」は JavaScriptで出来ないみたい。 他の機能はできるようです。 それと、コンテキストメニュー内の文字列に マウスと移動すると背景色が元に戻ってしまうんです。 これは原因は分かっていて対処もできるんですが とりあえず、できるということで。 <HTML> <HEAD> <TITLE></TITLE> <STYLE> .menuItem { font-family:sans-serif; font-size:10pt; width:200; padding-left:20; background-Color:beige; color:black } .highlightItem { font-family:sans-serif; font-size:10pt; width:200; padding-left:20; background-Color: highlight; color:white } </STYLE> <SCRIPT> <!-- var check; BrowseChk(); function BrowseChk(){ check=0; Br = navigator.appName; if(document.all) check=1; else if(document.layers) check=2; else if((document.getElementById) && navigator.appName.indexOf("Netscape")>-1) check=3; else if((Br.indexOf("Netscape")>-1) || (Br.indexOf("Internet Explorer")>-1)) check=4; } function displayMenu(ev) { if(check==3){ whichDiv=ev.target; menu1.style.left=ev.pageX; menu1.style.top=ev.pageY; } else{ whichDiv=event.srcElement; menu1.style.posLeft=event.clientX; menu1.style.posTop=event.clientY; menu1.setCapture(); } menu1.style.leftPos+=10; menu1.style.display=""; } function switchMenu(ev) { if(check==3){ el=ev.target; }else{ el=event.srcElement; } if (el.className=="menuItem") { el.className="highlightItem"; } else if (el.className=="highlightItem") { el.className="menuItem"; } } function clickMenu(ev) { menu1.style.display="none"; if(check==3){ el=ev.target; }else{ menu1.releaseCapture(); el=event.srcElement; } if (el.id=="AddFavorite") { var al=window.external; window.external.AddFavorite("http://xxx","秘密"); } else if (el.id=="reload") { location.reload(); } else if (el.id=="hisback") { history.back(); } else if (el.id=="hisfor") { history.forward(); } } var menu1; function window_onload() { menu1=document.getElementById("menu1"); document.oncontextmenu=displayMenu; menu1.onclick=clickMenu; menu1.onmouseover=switchMenu; menu1.onmouseout=switchMenu; } //--> </SCRIPT> </HEAD> <BODY onContextmenu="return false"LANGUAGE=javascript onload="return window_onload()"> <div id=menu1 style="position:absolute; display:none; width:200; background-Color:beige; border:outset 1px gray"> <div class="menuItem" id=AddFavorite>お気に入り登録</div> <div class="menuItem" id=reload>リロード</div> <div class="menuItem" id=hisback>前に戻る</div> <div class="menuItem" id=hisfor>次に進む</div> </div> </BODY> </HTML>

DERARU
質問者

お礼

本当にありがとうございます(>_<) ネスケは少し動作が不安定でしたが同じ効果がだせました。 ネスケではできないと思っていたのでとても驚きました! >それと、コンテキストメニュー内の文字列に >マウスと移動すると背景色が元に戻ってしまうんです。 >これは原因は分かっていて対処もできるんですが >とりあえず、できるということで。 ありがとうございます。試行錯誤して好きな色に変更することができました(^_^) 重ねての質問で申し訳ないですが私にはどう考えても不可能なので質問です(^^; ショーットカットメニューの上からマウスが離れたらメニューが自動的に消える効果をだせないでしょうか。 メニューがでたままだとリンクが機能しないということをしらず、リンクがなくなってるとあせってしまったので(^^; 私の見たサイトではあとでみたら出来ていたのでぜひと思い(^^; それから右クリックのメニューのかっこいいスタイルをスタイルだけ適用させることは可能なのでしょうか? もし独自に追加する形でする場合「画像の保存」「コピー」「貼り付け」などは追加できるのでしょうか。 わからないといつまでも悩んでいそうなのでいろいろ質問してしまって申し訳ないですがよろしくおねがいします(^^;

その他の回答 (3)

  • ittochan
  • ベストアンサー率64% (2667/4137)
回答No.3

>ネスケでは右クリックを不能 >にするなどの方法はないのでしょうか? そうなんですよね。 私のNN7でもできませんでした。 よかったら、締め切らないで待っててね。 NN6以上だったら、できるのを書けると思います。 それ以前のバージョンは持っていないので 締め切ってね。

  • ittochan
  • ベストアンサー率64% (2667/4137)
回答No.2

足りなかったみたい。 <STYLE> .menuItem {font-family:sans-serif; font-size:10pt; width:200; padding-left:20; background-Color:menu; color:black } .highlightItem { font-family:sans-serif; font-size:10pt; width:200; padding-left:20; background-Color: highlight; color:white } </STYLE> これを <TITLE></TITLE> と <SCRIPT> の間に突っ込んじゃってください。 ごめんなさい。

DERARU
質問者

お礼

ittochanさん、返信大変ありがとうございます(^_^) おかげで思い通りにメニュー表示をすることができました。 かなりいろんなところを見たのですがどこを探してもわからなかったのでとてもうれしいです(^_^) あともう1つもし出来ればの要望ですが、ネスケの7だと普通にショートカットメニューが出てしまいます。 ネスケでは右クリックを不能にするなどの方法はないのでしょうか? 私が見たサイトではやはりネスケでは普通に右クリックできてしまいました(^^;

  • ittochan
  • ベストアンサー率64% (2667/4137)
回答No.1

>お気に入り登録、リロード、前に戻る、次に進むだけ となると、 <HTML> <HEAD> <TITLE></TITLE> <SCRIPT> //<!-- function displayMenu() { whichDiv=event.srcElement; menu1.style.leftPos+=10; menu1.style.posLeft=event.clientX; menu1.style.posTop=event.clientY; menu1.style.display=""; menu1.setCapture(); } function switchMenu() { el=event.srcElement; if (el.className=="menuItem") { el.className="highlightItem"; } else if (el.className=="highlightItem") { el.className="menuItem"; } } function clickMenu() { menu1.releaseCapture(); menu1.style.display="none"; el=event.srcElement; if (el.id=="AddFavorite") { window.external.AddFavorite("http://xxx","秘密"); } else if (el.id=="reload") { location.reload(); } else if (el.id=="hisback") { history.back(); } else if (el.id=="hisfor") { history.forward(); } } //--> </SCRIPT> </HEAD> <BODY class="clickableSpan" oncontextmenu="displayMenu();return false"> <div id=menu1 onclick="clickMenu()" onmouseover="switchMenu()" onmouseout="switchMenu()" style="position:absolute;display:none;width:200;background-Color:menu; border: outset 3px gray"> <div class="menuItem" id=AddFavorite>お気に入り登録</div> <div class="menuItem" id=reload>リロード</div> <div class="menuItem" id=hisback>前に戻る</div> <div class="menuItem" id=hisfor>次に進む</div> </div> </BODY> </HTML> こんな感じ?

関連するQ&A

  • 右クリックのショートカットメニューの追加

    WORDやexcelの右クリックのショートカットメニューは便利な機能ですが、そこに自分で機能を追加するにはどのような操作をすればよいのでしょうか。 例えば、右クリックのショートカットメニューでプリンタを印刷を表示追加する。

  • インターネットショートカットの右クリックメニュー

    Windows8.1です。 普段はFirefoxがメインなのですが、GoogleChromeもインストールしてあります。 お気に入りとかブックマークはあまり使わず、フォルダにまとめたインターネットショートカットをダブルクリックしてFirefoxで開いたり、開いているChromeのウインドウにドラッグしたりして使っています。 FirefoxにはAdblockが入っているためときどき開いてくれないサイトがあり、その場合はChromeで開くのですが、これがちょっと手間です。 インターネットショートカットの右クリックメニューに「Chromeで開く」などを追加できると便利なのですが、そういう設定ってできますでしょうか。 少し調べて HKEY_CLASSES_ROOT\*\shell\Chromeで開く\command の既定の値にChromeまでのフルパスを設定したのですが、テキストファイルやWordファイルの右クリックメニューには「Chromeで開く」が表示され、きちんと動作するのですが、インターネットショートカットの右クリックメニューには表示もされませんでした。

  • 右クリックメニュー

    ショートカットアイコンからの右クリックメニューの中に同じ項目が2つできてしまいました。 ショートカットアイコンの右クリックメニューを整理するには レジストリのどのキーから編集するのでしょうか? また、ファイル→右クリックメニュー、フォルダ→右クリックメニューは正常にメニューが表示されます。 同じ項目が出てしまうのは ショートカットアイコンからの右クリックメニューのみです。 どうかよろしくお願いします。

  • デスクトップを右クリックしたときに出るショートカットメニューに変なものが!?

    Windows2000 です。 デスクトップを右クリックしたときに出る ショートカットメニューに変な空白ができてしまいました。 具体的には、新規作成とかの下の方に 空白があって、→矢印があって、右に 移動できるけど、そこも全部空白で5行ぐらい あります。 試しに、選択してクリックしてみると 赤丸の中に×ボタンが出て、メッセージも空白でした。 おそらく、何かのソフトをインストールした時に、 右クリックショートカットメニューに登録しようとして 失敗(?)したものだと思われるのですが、 何かがわかりません。 (1)一体どのソフトなのか見極めたい。 (2)右クリックのショートカットメニューを 編集する方法。フリーソフトなど教えてください。 ※あくまで、デスクトップを右クリックしたときに 出るショートカットメニューです。 他のところで出るショートカットメニューでは ありません。

  • 右クリックのショートカットメニュー

    マイドキュメントなどに保存してあるファイルを、右クリックして出るショートカットメニューの、送る の中にMOは登録できるのでしょうか?できるのでしたらやり方を教えてください。 以前本で見たのですが、送る機能に登録したい物のアイコンを、送る機能を登録してあるフォルダにコピー貼り付けで登録できると描いてあったのですが、MOのアイコンはコピーできないようなのです。

  • フォルダオプションを右クリックメニューへ追加

    隠しフォルダ、ファイルを表示させるのが面倒なのですが、「フォルダオプションを開く」を右クリックメニューに追加させる方法を教えて下さい。ショートカットをデスクトップに置いてますが右クリックに登録出来れば有難いです。 どうぞ宜しくご教示下さい。

  • フォルダを右クリックするといらないショートカットを消したい

    フォルダを右クリックすると色々なショートカットが勝手に追加されています。たとえばwinrarをインストールすると右クリックメニューに「解凍」とかあります。こうゆうのを消したいのですがどのようにすればいいのでしょうか?

  • マウス右クリックのショートカットメニュー

    マウスの右をクリックするとショートカットメニューが表示されますが、それを自分好みに整理したり表示させなくさせたりすることは可能なのでしょうか? パソコンで制御できるのかそれともソフトが必要に なってくるのか、ご回答頂けたら嬉しいです。 よろしくお願いします。

  • 右クリックで「ハイパーリンクの削除」のショートカットメニューを表示させたい

    Excel2003です 教えてください ハイパーリンクの削除について 「無効にするハイパーリンク をマウスの右ボタンでクリックし、ショートカット メニューの [ハイパーリンクの削除] をクリックします。 」とExcelのヘルプにあるのですが 私のExcelでは 右クリックしても[ハイパーリンクの削除]のショートカットメニューが表示されません。 右クリックで「ハイパーリンクの削除」を表示させる方法を教えて下さい。

  • 右クリックでのショートカットメニューが表示されない

    昨日、会社で新しいPCが割り当てられました。 今日、しばらく使用していると、右クリックでのショートカットメニューが表示されなくなりました。ただし、表示されているであろうエリアをポイントするとショートカットメニューが表示されます(正常表示ではないですが)。 マウスの設定を少し変えましたが、それは関係あるでしょうか?ポインタの動きを少し速くしたくらいで、別なところを変更したという自覚はありません。 PCを割り当てらたれた途端に変な設定しやがってと思われそうで、他の人に聞けません。 どうか教えてください。

専門家に質問してみよう