• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:JavaScript、動作解説のおねがい!)

JavaScript、動作解説のおねがい!

このQ&Aのポイント
  • JavaScriptでの動作解説について教えてください。
  • 上記のJavaScriptコードは、特定の条件下での動作を制御するためのものです。
  • スクリプト内のコードは、他のウェブサイトやフレーム内で開いた場合にリダイレクトを行います。

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

  • ベストアンサー
  • benelli
  • ベストアンサー率51% (78/152)
回答No.1

直訳ですが >if ((top != self) && location.href.match(/^http:\/\/[\d]+\.[\d]+\.[\d]+\.[\d]+\/translate_c/)){ フレーム分割のうちこのJavaScriptを実行したフレームがトップではないとき、かつそこのアドレスが「http://[数字].[数字].[数字].[数字]/translate_c/」であるときに以下の処理をする。 >if ( navigator.appName == 'Netscape' && parseInt(navigator.appVersion) == 6 ) { もしブラウザのソフト名がNetscapeで、かつバージョンが6だったら下の処理をする。 >top.location.replace(location.href); フレームのトップのアドレスをJavaScriptを実行したフレームのものと同じにする。 >} else { もしブラウザのソフト名がNetscape以外、またはバージョンが6以外だったら下の処理をする。 >top.location = location.href; フレームのトップのアドレスをJavaScriptを実行したフレームのものと同じにする。 まぁ概要はこんな感じです。 「top.location.replace(location.href);」も「top.location = location.href;」も意味は同じですが、ブラウザごとに命令文が異なるために面倒でも違う表記をしているのでしょう。 なお、[数字]は何の数字でも構いませんが、アルファベットなどはダメという意味です。

waterclock
質問者

お礼

お礼が遅くなり申し訳ありませんでした。 どうもありがとうございます。 これ、わかりました。これは、グーグル翻訳を実行させる1節でした。 もう少し、勉強してから質問します。すみませんでした。

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

関連するQ&A

  • ブラウザが判別出来ない。

    お世話になっております。 JavaScriptの本を購入しました。 その本にブラウザ判定のスクリプトが掲載されており、それをそのままアップしたところ、私はIE6なのにIE4と判別されてしまいました。 下記がそのスクリプトです。 ちなみに、私はXPのIE6です。 このスクリプトはこれで完璧なのでしょか? また、出来ましたら、このスクリプトを試していただけたらと思うのですが・・・よろしくお願い致します。 <script language="JavaScript"> <!-- if( navigator.appVersion.charAt(0)==4){window.location.href = "nn4.html"} // NN Ver4 の場合 if( navigator.appVersion.charAt(0)==5){window.location.href = "nn5.html"} // NN Ver5 の場合 if( navigator.appVersion.charAt(0)==6){window.location.href = "nn6.html"} // NN Ver6 の場合 } if( navigator.appName.charAt(0)=="M"){ if( navigator.appVersion.charAt(0)==2){window.location.href = "ie2.html"} // IE Ver2 の場合 if( navigator.appVersion.charAt(0)==3){window.location.href = "ie3.html"} // IE Ver3 の場合 if( navigator.appVersion.charAt(0)==4){window.location.href = "ie4.html"} // IE Ver4 の場合 if( navigator.appVersion.charAt(0)==5){window.location.href = "ie5.html"} // IE Ver5 の場合 if( navigator.appVersion.charAt(0)==6){window.location.href = "ie6.html"} // IE Ver6 の場合 } //--> </script> <noscript>JavaScript を使用しています。JavaScript を有効にしてください。</noscript>

  • javascriptの動作について

    こんばんは。 直接アドレス指定などしてきたものについては、 トップページへ飛ばすことをしようと思ったのですが、 以下の記述だと、IE8では動作しましたが、GoogleCrome(11.0.696.77)、firefox(3.6.0)、safari では動作しませんでした。(location.hrefがダメなんでしょうか?) 解決策・回避策などあれば教えてください。 よろしくお願いします。 <script language="JavaScript" type="text/JavaScript"> <!-- var url; url = document.referrer; if(url != 'http://xxxxxxxxx'/){ location.href('http://xxxxxxxxxxxxx'); } // --> </script>

  • javascriptでスマートフォン・PC分岐

    PC用のサイトとスマートフォン用のサイトをそれぞれ作り、アクセスをjavascriptで振り分けたいと考えています。 PC用とスマートフォン用のURLはあいだに"i"をはさむ違いだけです。 http://www.hoge/cate1/post_001.html http://www.hoge/i/cate1/post_001.html いろいろ調べた結果、トップページは下記でうまく行きました。 <script type="text/javascript"> if ((navigator.userAgent.indexOf('iPhone') > 0 && navigator.userAgent.indexOf('iPad') == -1) || navigator.userAgent.indexOf('iPod') > 0 || navigator.userAgent.indexOf('Android') > 0) { location.href = '/i/'; } </script> 問題は個別ページがうまく行きません。自分なりに調べて下記のように書きました。 <script type="text/javascript"> if ((navigator.userAgent.indexOf('iPhone') > 0 && navigator.userAgent.indexOf('iPad') == -1) || navigator.userAgent.indexOf('iPod') > 0 || navigator.userAgent.indexOf('Android') > 0) { location.href = '/i/location.pathname'; } </script> ところがこれではhttp://www.hoge/i/location.pathnameに行ってしまいダメです。 なぜダメなのでしょうか? この場合、どのように記述すれば良いか教えてください。 PHPとCGIとかはさっぱり判らないのでその選択肢はありません。 よろしくお願いします。

  • レイヤーを使うときに妙なスクリプトが入る

    ホームページ作成ソフトでレイヤーを使うと、自動的に以下のようなスクリプトが追加されてしまいますが、いったいなんのためのスクリプトですか? ホームページ作成ソフトは、DreamWeaver4です。 <script language="JavaScript"> <!-- function MM_reloadPage(init) { //reloads the window if Nav4 resized if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) { document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }} else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload(); } MM_reloadPage(true); // --> </script> これが入らないと、ネットスケープの4.Xでレイヤーの中でスクリプトを実行するとエラーになってしまいます。

  • document.write が作動してくれません!

    /* ブラウザが 「IE Version 5 以上」 または 「Netscape Navigator Version 4 以上」 のときに文字列を出力するつもりで、以下のscriptを書きましたが、IE Version 6 のパソコンで文字列が出力されません。 (エラーにはなりません。インターネット・セキュリティは既定レベルの「中」です。) 何が間違いなのかお教えくださいませ。 <script type="text/javascript"> <!-- if ( ( (navigator.appName.indexOf("Microsoft") >=0)&&(navigator.appVersion.charAt(0) >4) ) || ( (navigator.appName.indexOf("Netscape") >=0)&&(navigator.appVersion.charAt(0) >3) ) ) { document.open(); document.write("「パソコン申し込み」 では、入力していただいた貴下の個人情報を送信する際に、情報の暗号化をおこないます。"); document.close(); } //--> </script> */

  • Netscape7.1上でJavaScript(window.close)が動作しません

    こんにちは,Netscape7.1でスクリプトが思った様に動いてくれずに少し困っています.もし何かご存知のことがあればお知らせください. Web上で動く社内システムを開発しているのですが,スクリプトの動作がInternet ExplorerとNetscapeで大きく異なるため,使用はInternet Explorerのみに限定しようと思い,先頭で以下のソースの様なチェックを入れています. <SCRIPT LANGUAGE="JavaScript"> <!-- if (navigator.appName == "Microsoft Internet Explorer") { } else { alert("本システムは,Internet Explorerで使用してください."); window.close(); } //--> </SCRIPT> ブラウザがNetscape6.1であれば問題なく意図した動きをしてくれるのですが,Netscape7.1ではalaert表示後OKボタンを押してもブラウザが終了しません. 単純にバージョンによる差なのか,セキュリティなどの設定の違いか判然とせず,色々と調べてみたのですが,結局分かりませんでした. 何か同じ様な経験をお持ちの方やアドバイスをいただける方がいらっしゃると大変助かります. よろしくお願いします.

  • JAVAスクリプトの記述について間違い箇所を直してください!

    以下のスクリプトを実行させると画面全体が揺れるというものなのですが、ブラウザでプレビューしたところIEでは正常に見れますがスレイプニル(Sleipnir)で表示させると何も表示されません。スクリプト内にそういった文面を記述する必要があるのでしょうか?だとしたらどこに何と記述したらよいのか教えていただけると助かります。よろしくお願いいたします。 <SCRIPT language="JavaScript"> <!-- bName = navigator.appName; bVer = parseInt(navigator.appVersion); if (bName == "Netscape" && bVer == 3) ver = "n3"; else if (bName == "Netscape" && bVer == 2) ver = "n2"; else if (bName == "Netscape" && bVer >= 4) ver = "n4"; else if (bName == "Microsoft Internet Explorer" && bVer == 2) ver = "e3"; else if (bName == "Microsoft Internet Explorer" && bVer > 2) ver = "e4"; if (navigator.appVersion.indexOf("Mac") != -1) ver+="m"; function earthquake() { if (ver == "n4" || ver == "n4m" || ver == "e4" || ver == "e4m") { for (i = 10; i > 0; i--) { for (z = 5; z > 0; z--) { self.moveBy(0,i); self.moveBy(i,0); self.moveBy(0,-i); self.moveBy(-i,0); } } } } setTimeout('earthquake()',3); //--> </script>

  • BGMを任意のページだけ止める

    現在、ホームページをフレームで区切ってメニューに以下のJavaScriptを書いて音楽を鳴らしています。 メニューに入れているので、どのページを閲覧してもBGMが途切れる事はないのですが、これを任意のページを表示した場合にだけ止めたいのですが、良い方法は御座いますでしょうか? (特定のページへのリンクをクリック時のみ曲が止まるようなイメージで) <script type="text/javascript"> <!-- browser = (((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) >= 3 ))); if ( browser) { document.write( '<embed src="sound/****.mid" autostart="true" hidden="true" loop="true">', '<\/embed>'); } else { document.write('<bgsound src="sound/****.mid" loop="infinite">'); } //--> </script>

    • ベストアンサー
    • HTML
  • location.hrefの使用方法について

    location.hrefで取得した現在表示しているURLをhtmlのbody中の<a href="ここに代入"></a>に代入したいのですが、いろいろやったり調べたりしたのですができません。ご教授いただけると幸いです。 目的は、動的ページをfirefoxユーザーにブックマークしてもらうことです。以下の「url」部分を現在表示中のURLにしたい<a href="url" rel="sidebar" title="name">ブックマークに追加</a>。できればタイトルも現在のページから取得したい。 ちなみにIEでは以下のとおりで希望の機能を実現しています。 <script type="text/javascript"> <!-- if ((navigator.appVersion.indexOf("MSIE") > 0) && (parseInt(navigator.appVersion) >= 4)) { document.write("<p><SPAN STYLE='color:blue;cursor:hand;' onclick='window.external.AddFavorite(location.href, document.title);'>このページをお気に入りに追加する。<\/SPAN><\/p>"); } //--> </script>

  • 背景ランダム

    JavaScriptを使って背景をランダムに変更したいので すが、その背景ごとにを左上固定や縦リピートなど を設定することは出来るのでしょうか? 宜しくお願い致します ちなみにCSSは基本だけですが理解しています <SCRIPT LANGUAGE="JavaScript"> <!-- function randomWall() { if (navigator.appVersion > '5' || (navigator.appName == 'Microsoft Internet Explorer' && navigator.appVersion > '4')) { var max = 6; wall = Math.floor(Math.random() * max) + 1; if (wall == 1) { document.body.background = '1.gif' } else if (wall == 2) { document.body.background = '2.gif} } } //--> </SCRIPT>

このQ&Aのポイント
  • 写真をスキャンしたく、画像が粗いままです。解像度を変更しても画質が粗いの仕方ないのでしょうか?友人の別のハンディスキャナーでは綺麗にスキャンできました。プリンターのせいなのか、やり方のせいなのか教えてください。
  • 現在、iscanからイメージを選択し、1200dpiを選んでスキャンしていますが、画質に変化はありませんでした。
  • お使いのパソコンはWindows10で、無線LAN経由で接続されています。Wi-Fiルーターの機種名は不明です。電話回線はひかり回線を使用しています。
回答を見る

専門家に質問してみよう