• ベストアンサー

『オペラ』ではページを開けなくするための JavaScript の書き方

個人でHPを運営している初心者です。 インターネット・エクスプローラ以外のブラウザ(ネットスケープ、オペラなど)で閲覧しようとする訪問者を JavaScript でブロックしたいのですが、できるでしょうか。 今のところ、ネットスケープでは成功していて、「申し訳ありません。IE でご覧下さい」と表示して、ウィンドウを閉じるようにできたのですが、オペラではうまく行きません。 あるいは、右クリックをどのブラウザでも完全に不能にする方法はありますか? どなたかご教授下さると嬉しいです。よろしくお願いいたします。

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

  • ベストアンサー
noname#199778
noname#199778
回答No.2

先の方の回答にもありますが、JavaScriptで利用しているブラウザの種類を取得しようとしても、Operaはその値をユーザーの意思でIEやNetscapeなどに変更できます。 ですので、Operaもブロックしたいのであれば、Operaが対応していないJavaScriptの記述を利用する対策が必要と思います。 IE5.x以降のブラウザのみをより分けたいのであれば、  if (navigator.appName="Microsoft Internet Explorer") という条件分岐の他に、  if (document.getElementById) という条件分岐を追加すれば、現状では一応は可能です。 後者の「document.getElementById」にはOperaは対応していないので、この条件でOperaをふるい落せます(今後Operaの開発が進んでDOMメソッドもサポートするようになった場合は、この限りではありません)。 ただ、IE以外では見て欲しくないページ自体にこういった条件分岐を設定していても、JavaScriptが有効にされていない環境・ブラウザでは、JavaScriptでの振り落としが機能しません。 ですので、実際に振り分けをするには、そのページに飛んでくる前のページでブラウザをふるいわける仕掛けをJavaScriptで記述しておく必要があるでしょう。 対象のページに入る前段階で、JavaScriptでブラウザを判定し、条件に合う閲覧者だけを次のページに誘導する記述を入れておけば、条件以外のブラウザの利用者やJavaScriptが無効な閲覧者は、そこで次に進めなくなります(その先のページに入った後でJavaScriptを無効にされた場合は対応できませんが)。 右クリック禁止については、どの環境でも等しく適用するのはほぼ不可能でしょう。 JavaScriptでの記述は、JavaScriptが無効にされている環境では無意味ですし、右クリックメニューで出てくる機能を呼び出す代替手段は複数あります。 なお、基本的に、公開されているサーバー上にあるものは、必ずアクセスする手段があるものですので、意図しないブラウザでの閲覧やファイルへのアクセスを完全に排除することはまずできないと思った方が無難です。 また、余計なことでしょうけど、利用するブラウザを制限した場合、それだけ他のブラウザを利用している閲覧者を締め出してしまい、閲覧してもらえる機会を逃す可能性が高くなることにも、一応注意が要ると思います。 参考になれば幸いです。

mrs_snape
質問者

お礼

お返事が遅くなりまして、申し訳ありません。 JavaScript でできることの限界がよく分かりました。なかなか道は厳しいようです。具体的で専門的なお話、とても参考になりました。どうもありがとうございました。

その他の回答 (1)

noname#9414
noname#9414
回答No.1

Operaの場合、UserAgentを偽る機能を持っているので、Operaを使用している人が、UserAgentをOperaにしていない限り、JavaScriptでもブロックできないと思いますよ。 さらに、JavaScriptの実行をOffにすることも可能なので、そうなったらJavaScriptでブロックしていても意味がありませんし・・・ 公開しているサイトなのですから、どのブラウザでみられても問題がないように作るのが、一番なのではないでしょうか? どうしてもInternet Explorer(以下IE)がいいのであれば、サイトのTOPページに、「Internet Explorerでみてほしい」ということを書いておけばいいのではないでしょうか? #ちなみに、IEにしても、バージョンによって、かなり #挙動が違うので、前IEをOKとするのも危険だと・・・ 右クリックにしてもJavaScriptをOffにしていれば意味がないし、最悪Telnetでソースを取りに行くことも可能ですし・・・正直言って意味がないと思いますよ。 間違いがありましたらご指摘ください。 ではでは☆

mrs_snape
質問者

お礼

早々とお答え下さったのに、お返事が送れて申し訳ありませんでした。 Opera が変装(?)するとは知りませんでした。さっそく私の Opera を調べてみたら、IE に化けていました。このブラウザ、なかなか曲者なんですね。 興味深いお話、どうもありがとうございました。

関連するQ&A

  • operaに変えて

    IEからoperaに変えましたが、 (1)マイ・ピクチャなどに入っている写真や画像がoperaで開いてしまいます。エクスプローラーで開きたいのですが、どうしたらよいでしょうか。右クリックからのプログラムから開くでは、正直面倒です。ちなみに既定のブラウザはIEにしています。 (2)operaを開くときに、ーエントリーポイントが見つかりませんー、というダイアログボックスが出ます。OKをクリックするとダイアログボックスはきえてoperaがたちあがるのですが、このダイアログボックスをでないようにするにはどうしたらよいでしょうか。以上2点、すみませんが、ご存知の方がおられましたらよろしくお願いします。

  • Opera8.53ってJavaScriptが搭載されてないの???

    みなさん、こんばんは。 Opera8.53の日本語版を使用しています。 そこでOpera8.53はJavaScripが 標準で装備されているのでしょうか? 綾香ayaka 公式サイト     ↓ http://www.ayaka.tv/index2.html をFirefoxやIEで見ると、 ページサイズが変えられるのですが、 それはJavaScriptが関係していると 以前、この教えてgooで教わりました。        ↓ http://oshiete1.goo.ne.jp/kotaeru.php3?q=2007690 でもOperaはページサイズも変えられないし、 あるサイトでは JavaScripが使えるブラウザを使用してください。 みたいな事がでました。 しかしOperaの ツール→クイック設定→JavaScriptを有効にする にチェックを入れても 上記のような事になり、 JavaScripが有効になっているとは思えません。 Opera8.53でJavaScriptが有効になるには どうすればいいのでしょうか?

  • Operaは劣っているのでしょうか?

    現在OperaとIE、Firefoxがありますが、主にOperaを使用しています。 ほとんどのサイトなどは問題ないのですが、時々「IEとFirefox以外のブラウザではご覧になれません」と出てきて先に進めないサイトもあります。 FirefoxやIEのUserAgentに切り替えることができますので、切り替えると特に大きな問題なく見られます。 ところで、IEはWindows標準のブラウザですので対応していないとなると大問題ですが、 (1)なぜFirefoxは動作するのにOperaでははじかれるサイトがあるのでしょうか? (2)OperaもFirefoxもサイトを表示するエンジン(JavaScript互換性など)の機能が実はOperaが劣っているのでしょうか? (3)もしくはパソコン版Operaの認知度が少なく、ゲーム機や携帯端末に入っているOperaという感じでサイト制作者側から見るとOpera=パソコンではないという印象が強いのでしょうか? それにMozillaの後継としてFirefoxになっているのですが、Mozilla時代を知らなくても使っている人が多いと思います。 個人的にはFirefoxよりもOperaの方が断然便利だと思います。 (4)なぜFirefoxよりもOperaが人気なのか分かる人があれば教えていただきたいです。 質問が長くなりましたが、一つだけでも答えられるところがあればご回答よろしくお願いします。

  • JavaScript でページズーム

    IE7/IE8、FireFox3.x、Safari4.x、Google Chrome、Opera,等主要ブラウザが、ページズーム機能が搭載されました。 ブラウザのズームボタンを押せば良いことですが、ページ内に目立つボタンを設置してページズームをコントロールしたいと思います。 ページズームは JavaScript でコントロール出来るのでしょうか、もしくは、JavaScript のライブラリ等が有れば、アドバイスを頂ければ幸いです。 もしかするとページズームは、ブラウザ箇々の機能になる為。JavaScript ではコントロールが出来ないのでしょうか。

  • IEからOPERAにしたら今までちゃんとFLASHが表示されなくなった

    ブラウザをIEからOPERAにしたら今までちゃんとFLASHが表示されていたのに ”このページではJavaScriptとFLASH PLAYERを使用しています。 JavaScriptの設定をONにし、FLASH PLAYERをダウンロードしてから再度ご覧ください。”というエラーメッセージが表示されます(・∀・;) OPERAで何か設定が必要なのでしょうか? よろしくお願い致します。

  • 勝手にオペラが立ち上がる

    インターネットエクスプローラとオペラの2種類のブラウザーを使っていますが、普段はほとんどIEしか使いません。でもインターネットなどをしていてリンクを開いたりすると、かってにオペラが立ち上がってしまいます。オペラが、勝手に立ち上がらなくする方法はありますか?

  • OPERA12.17に代わる新ブラウザを探してます

    上記ブラウザの愛用者なのですが、このサイトを筆頭に、PIXIV、ツイッター、ニコっとタウン、@ゲームズ(ポケットランド)、ニコニコ大百科、サンドラッグHPなどなど、正常動作してくれないサイトが多く、仕方なく代打的にスレイプニル4.4.5.4000というブラウザを使用しています…。が、これでもPonta PLAYなど正常動作してくれないサイトもあり、そういうサイトは嫌々IEを使っています。 私はOPERA12の「右クリックを押しながら左クリックでブラウザバック、左クリックを押しながら右クリックでブラウザバックの逆」という操作に非常に慣れ親しんでおり、IEなどでもついこの操作をしてしまうぐらいです。このような理由から、FIRE FOXやGoogle CROMEなどを使っていません。上記操作でブラウザバック(およびその逆)ができ、できればデフォルトでスピードダイヤルやメモ帳、広告ブロック機能、URL(キーワード)を貼り付けてすぐ移動(検索)という、OPERA12.17が持つ便利機能を余さず持っているブラウザはないものでしょうか?

  • ブラウザ-オペラについて

    私は簡単ホームページgooでHPを持っている者ですが、 ブラウザ-オペラについて質問があります。 友人がインターネットエクスプローラーを使っていたのですが、 ウィルスがつきやすいということでオペラに変えました。 そうしたら今まで見れていた私のHPがうまく作動しないようで まともに見れないようなんです。 そこで、オペラでも見れるようにしてほしいと言われたのですが、 どうすればいいのでしょうか? 教えてください。よろしくお願いします。

  • ブラウザ「オペラ」のお気に入りのエクスポートについて

    「オペラ」初心者なので、教えてください。 「オペラ」のお気に入りを他のブラウザ(IE,ネットスケープ)で使用できるようエクスポートしたいのですが、どのようにすればよいのでしょうか? ちなみに「オペラ」でのエクスポートを実施すると、オペラ独自の拡張子を持ったファイルが出力されるようですが、これを変換して利用することが可能なのでしょうか?

  • いい加減operaに対応しないの?

    OPERAを使ってるんですけど、OPERAからだとお礼が書けません。 okwaveの為だけにIEを常駐させておくのも嫌だけど、いつになったらOPERAに対応してくれるのでしょうか? OPERAなんてそんなドマイナーなブラウザでもあるまいし、運営は何で対応出来ないんですか?

専門家に質問してみよう