• ベストアンサー

ロールオーバーを外部にするとエラーがでます。

ホームページビルダーV9を使用しています。 はじめてjavascriptを扱う初心者ですのでうまく説明が出来ないと思いますが宜しくお願い致します。 ビルダーでロールオーバーを作成し、それを外部ファイルにしました。 ビルダーでプレビューを見ると 「このページのスクリプトでエラーが発生しました エラー:'HPB_SCRIPT_CODE_40''HPB_SCRIPT_CODE_50''HPB_SCRIPT_CODE_50'は宣言されていません。」 と出ます。 ブラウザーで見てみると 「セキュリティ保護の為、コンピュータにアクセス出来るアクティブコンテンツは表示されないようWEBブラウザで制限されています。 オプションを表示するにはここをクリック」と上の方に出ます。 クリックしないとロールオーバーは機能しません。 クリックすると機能します。 ロールオーバーを外部にうまく移動出来ていないのでしょうか? 外部ファイルを全部載せると文字数オーバーする為1つだけ記載しました。 アドバイスお願い致します。 <HEAD> <META> <TITLE></TITLE> <LINK rel> </HEAD> <BODY> <script type="text/javascript" src="java1.js"></script> <script type="text/javascript" src="java3.js"></script> <script type="text/javascript" src="java2.js"></script> ★java2.js HPB_SCRIPT_PLD_50 HpbImgPreload('_HPB_ROLLOVER1', 'logo3.gif', 'logot7.gif'); HpbImgPreload('_HPB_ROLLOVER2', 'logo4.gif', 'logot17.gif'); HpbImgPreload('_HPB_ROLLOVER3', 'lo_sel.gif', 'logot19.gif'); HpbImgPreload('_HPB_ROLLOVER4', 'lo_car.gif', 'logot20.gif'); HpbImgPreload('_HPB_ROLLOVER5', 'lo_suki.gif', 'logot21.gif'); HpbImgPreload('_HPB_ROLLOVER6', 'lo_kon.gif', 'logot22.gif'); HpbImgPreload('_HPB_ROLLOVER7', 'lo_home.gif', 'logot23.gif');

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

  • ベストアンサー
  • 345itati
  • ベストアンサー率48% (795/1639)
回答No.1

とりあえずローカルにあるファイルについては、javascriptが記述されているとセキュリティ警告が出るのはIEの仕様です。 クリックして機能するなら問題は無いかと。 一度サーバにアップしてみても警告が出るなら話は別ですが。

mimi232323
質問者

お礼

早速の回答ありがとうございます^^ サーバにアップしたら警告でませんでした。 ホームページビルダーのプレビューを見ると 「このページのスクリプトでエラーが発生しました エラー:'HPB_SCRIPT_CODE_40''HPB_SCRIPT_CODE_50''HPB_SCRIPT_CODE_50'は宣言されていません。」 と出るのはどうしてなんでしょうか? ごめんなさい。きっと初歩的な事を聞いているのでしょうね(>_<)

その他の回答 (5)

  • crepon133
  • ベストアンサー率51% (399/776)
回答No.6

ロールオーバーで同時に2箇所の画像を変えているんでしょうかね? 記述そのままだとすると、最初の行 HPB_SCRIPT_CODE_40 は不要です。 もし記述するなら <!--HPB_SCRIPT_CODE_40 最後の行に //--> を追加してください。 JavaScriptを読み込む順番を替えてみたらどうなりますか? 1.<!--HPB_SCRIPT_CODE_40 2.<!--HPB_SCRIPT_ROV_50 3.<!--HPB_SCRIPT_PLD_50

mimi232323
質問者

お礼

ロールオーバーでは1つの箇所しか画像は変えていません。 おっしゃる通りHPB_SCRIPT_CODE_40 の外部ファイルを削除しても ロールオーバーが作動しました。 ビルダーまかせではなく、JavaScriptきちんと勉強しないとだめですね(>_<) ちなみにJavaScriptの順番をかえてもエラーがでました。 サーバにアップしてみれば問題ないのできっとビルダーで私が外部に移動したファイルをうまく読み込めないのでしょうね…。 それか記述が間違っているか^^; たくさんたくさん親身にご回答頂きましてありがとうございました。 サーバ上問題がなく動くのでとりあえずこのままやってみます。 もっともっと勉強してcrepon133さんみたいに解読出来るようになれるよう頑張ります♪ 本当にありがとうございました

  • k0021
  • ベストアンサー率26% (32/120)
回答No.5

>「セキュリティ保護の為、コンピュータにアクセス出来るアクティブコンテンツは表示されないようWEBブラウザで制限されています。 上記のメッセージが表示されるのは、下記の指定がされていないと思います ツール→インターンネット オプション→詳細設定→セキュレテイ の中の マイコンピュータでの、ファイルのアクテイブコンテンツの実行を許可する にチェックが付いていますか 間違えていたら御免ね >ビルダーでプレビューを見ると「このページのスクリプトでエラーが発生しました このごろホームページビルダーを使用していないが、テストで開くと出ませね 全てavascriptは、外部ファイルの指定しか有りませんので直接記述のテストは出来ませんが 直接記述の場合は、正常に起動すると記憶していますが??

mimi232323
質問者

お礼

ありがとうございます^^ まだビルダーを使いこなせてないみたいです(>_<) もう少し勉強してみます。 ありがとうございました。

noname#21765
noname#21765
回答No.4

エラーが出るとのことですが、サーバにアップして問題がなければOKです。 なぜならば、IEのセキュリティはネットワークの環境によって動きが違うところがあり、 Web上でエラーなしで動作してもローカルではエラーが出るケースがままあります。 インターネットオプションにあるセキュリティ関連の設定項目で 「ローカルディスクでのアクティブスクリプト云々」ってのがあり、 そこをいじるとローカルでのエラーも出なくなると思われます。 ※ただし、その分セキュリティは甘くなりますのでご注意を ※設定項目の場所は覚えてませんが探せば見つかるレベルです

mimi232323
質問者

お礼

お時間頂きましてありがとうございます^^ ローカルでの確認の時はこのやり方を参考にやらせて頂きます♪ ありがとうございました。

  • crepon133
  • ベストアンサー率51% (399/776)
回答No.3

普通のロールオーバーだったら2つのjavascriptファイルだと思いますが <!--HPB_SCRIPT_ROV_50 <!--HPB_SCRIPT_PLD_50 3つ目のjavascriptは <BODY onload="_xxxxx と記入しなければならないものではありませんか?

mimi232323
質問者

お礼

お時間頂きましてありがとうございます。 みなさん親切な方で嬉しいです^^ 3つ目と思われるjavascriptは下記の内容です。 ビルダーで作ったら出てきました。 HPB_SCRIPT_CODE_40 function _HpbImgSwap(imgName, imgSrc) { var appVer=parseInt(navigator.appVersion); var isNC=false,isN6=false,isIE=false; if (document.all && appVer >= 4) isIE=true; else if (document.getElementById && appVer > 4) isN6=true; else if (document.layers && appVer >= 4) isNC=true; if (isNC||isN6||isIE) { if (document.images) { var img = document.images[imgName]; if (!img) img = _HpbImgFind(document, imgName); if (img) img.src = imgSrc; } } } function _HpbImgFind(doc, imgName) { for (var i=0; i < doc.layers.length; i++) { var img = doc.layers[i].document.images[imgName]; if (!img) img = _HpbImgFind(doc.layers[i], imgName); if (img) return img; } return null; }

  • 345itati
  • ベストアンサー率48% (795/1639)
回答No.2

<head></head>間に <meta http-equiv="Content-Script-Type" content="text/javascript"> を入れていないから「宣言されていない」エラーが出るのでは? ビルダーのエラーコンソールは良く知りませんが。

mimi232323
質問者

お礼

<head></head>間にいれてみましたが 同じエラーがでました(>_<)

関連するQ&A

  • HPビルダー12 Javascriptのロールオーバーが反映されない。

    HPビルダー12 Javascriptのロールオーバーが反映されない。 プレビュー画面では反映されていましたが、アップすると反映されません。 一応このように記述しましたが、HTMLエディタの文字色はこの部分だけ黒です。 </SCRIPT><SCRIPT language="JavaScript"> <!--HPB_SCRIPT_PLD_50 HpbImgPreload('_HPB_ROLLOVER1', 'hplogo/info.gif', 'file:///D:/Documents/hplogo/info1.gif'); HpbImgPreload('_HPB_ROLLOVER3', 'hplogo/cen.gif', 'file:///D:/Documents/hplogo/cen1.gif'); HpbImgPreload('_HPB_ROLLOVER2', 'hplogo/photo.gif', 'file:///D:/Documents/hplogo/photo2.gif'); HpbImgPreload('_HPB_ROLLOVER4', 'hplogo/tra.gif', 'file:///D:/Documents/hplogo/tra1.gif'); HpbImgPreload('_HPB_ROLLOVER5', 'hplogo/syokuba.gif', 'file:///D:/Documents/hplogo/syokuba1.gif'); HpbImgPreload('_HPB_ROLLOVER6', 'hplogo/link.gif', 'file:///D:/Documents/hplogo/link1.gif'); HpbImgPreload('_HPB_ROLLOVER7', 'hplogo/mail.gif', 'file:///D:/Documents/hplogo/mail1.gif'); HpbImgPreload('_HPB_ROLLOVER8', 'hplogo/bbs.gif', 'file:///D:/Documents/hplogo/bbs1.gif'); HpbImgPreload('_HPB_ROLLOVER9', 'hplogo/blog.gif', 'file:///D:/Documents/hplogo/blog1.gif'); HpbImgPreload('_HPB_ROLLOVER10', 'hplogo/profile.gif', 'file:///D:/Documents/hplogo/profile1.gif'); HpbImgPreload('_HPB_ROLLOVER11', 'file:///D:/Documents/hplogo/bunner/book_green.jpg', 'file:///C:/Users/md11/AppData/Roaming/IBM/Homepage Builder Version 12/tmp/book_green1.jpg'); HpbImgPreload('_HPB_ROLLOVER11', 'file:///D:/Documents/hplogo/book_green.jpg', 'file:///D:/Documents/hplogo/book_green2.jpg'); //--> 上記に原因があるでしょうか。 他に原因ありそうでしょうか?

  • JavaScriptの外部書き出しに失敗してしまう

    ホームページ制作初心者のyuniko2525と申します。 ホームページビルダー10で職場のホームページを制作し、マニュアル本「スパテク160」などでSEO対策を始めた のですが、何度試してもJavaScriptの外部書き出しに失敗しスクリプトエラーが出てしまいます。 マニュアル本通り10行目<script language="JavaScript">から最終行の</script>までを 切り取り、メモ帳にテキストでコピー 1行目<script language="JavaScript">と最後の</script>を削除してscript.js と名前をつけて保存 ホームページビルダーのスクリプト編集の「外部ファイルを指定」で保存したものを選んで 更新しているのですがどうしてもエラーが出てしまいます。 下から14行目の</script>まで でも試してみたのですがダメでした。 何かアドバイスを頂けると大変嬉しいです。どうぞ宜しくお願い致します。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Style-Type" content="text/css"> <TITLE>●</TITLE> <META name="robots" content="all"> <META name="Keyword" contens="●"> <META name="description" contens="●"> <script language="JavaScript"> <!--HPB_SCRIPT_ROV_50 // // Licensed Materials - Property of IBM // 5724I83 // (C) Copyright IBM Corp. 1995, 2005 All Rights Reserved. // // HpbImgPreload: // function HpbImgPreload() { var appVer=parseInt(navigator.appVersion); var isNC=false,isN6=false,isIE=false; if (document.all && appVer >= 4) isIE=true; else if (document.getElementById && appVer > 4) isN6=true; else if (document.layers && appVer >= 4) isNC=true; if (isNC||isN6||isIE) { if (document.images) { var imgName = HpbImgPreload.arguments[0]; var cnt; swImg[imgName] = new Array; for (cnt = 1; cnt < HpbImgPreload.arguments.length; cnt++) { swImg[imgName][HpbImgPreload.arguments[cnt]] = new Image(); swImg[imgName][HpbImgPreload.arguments[cnt]].src = HpbImgPreload.arguments[cnt]; } } } } // HpbImgFind: // function HpbImgFind(doc, imgName) { for (var i=0; i < doc.layers.length; i++) { var img = doc.layers[i].document.images[imgName]; if (!img) img = HpbImgFind(doc.layers[i], imgName); if (img) return img; } return null; } // HpbImgSwap: // function HpbImgSwap(imgName, imgSrc) { var appVer=parseInt(navigator.appVersion); var isNC=false,isN6=false,isIE=false; if (document.all && appVer >= 4) isIE=true; else if (document.getElementById && appVer > 4) isN6=true; else if (document.layers && appVer >= 4) isNC=true; if (isNC||isN6||isIE) { if (document.images) { var img = document.images[imgName]; if (!img) img = HpbImgFind(document, imgName); if (img) img.src = imgSrc; } } } var swImg; swImg=new Array; //--> </script><script language="JavaScript"> <!--HPB_SCRIPT_PLD_50 HpbImgPreload('_HPB_ROLLOVER2', 'n_image6.gif', 'm_image6.gif'); HpbImgPreload('_HPB_ROLLOVER1', 'n_image14.gif', 'm_image14.gif'); HpbImgPreload('_HPB_ROLLOVER3', 'n_image7.gif', 'm_image7.gif'); HpbImgPreload('_HPB_ROLLOVER4', 'n_image12.gif', 'm_image12.gif'); HpbImgPreload('_HPB_ROLLOVER5', 'n_image10.gif', 'm_image10.gif'); HpbImgPreload('_HPB_ROLLOVER7', 'n_image6.gif', 'm_image6.gif'); HpbImgPreload('_HPB_ROLLOVER9', 'n_image7.gif', 'm_image7.gif'); HpbImgPreload('_HPB_ROLLOVER10', 'n_image12.gif', 'm_image12.gif'); HpbImgPreload('_HPB_ROLLOVER6', 'n_image15.gif', 'm_image15.gif'); HpbImgPreload('_HPB_ROLLOVER8', 'n_image18.gif', 'm_image18.gif'); //--> </script></HEAD>

  • ロールオーバー効果でエラーが出ます。

    ホームページビルダーの9を使用してます。 マウスロールオーバー効果の設定をしたところ、エラーが出てしまいます。 「オブジェクトを指定してください」というエラーでマウスを乗せると2回もそのエラーが出てきます。 ソフトの指示通りに設定してるのに何故エラーが出るのかわかりません。 ちなみにソース表示は、下記です。 <A onmouseout="HpbImgSwap('_HPB_ROLLOVER1','menu1.gif');" onmouseover="HpbImgSwap('_HPB_ROLLOVER1','menu1-2.gif');" href="×××.html" id="_HPB_ROLLOVER1"><IMG src="menu1.gif" width="79" height="54" border="0" alt="×××" name="_HPB_ROLLOVER1"></A> 何がいけないのでしょうか? このソースの前に何か記述すべきなのでしょうか?

  • 外部参照の時のロールオーバーがわからない!

     ちょっと長くなり失礼します。ドリームウェバーでロールオーバーを作ってみて、それを外部読み込みの形にしたくやってみやのですが、オンマウスの時に画像が変わりません。 どうかまちがいを教えてください。 HTMLファイル <html> <head> <title>ためし</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <script type="text/javascript" src="b.js"> </script> </head> <body bgcolor="#FFFFFF" text="#000000" onLoad="MM_preloadImages('b.gif')"> <script type="text/javascript" src="a.js"> </script> </body> </html> ”a.js”ファイル document.write("<a href='http://okweb.jp/' onMouseOut='MM_swapImgRestore()' onMouseOver='MM_swapImage('Image1','','b.gif',1)'><img name='Image1' border='0' src='a.gif'></a>");

  • JavaScriptを外部ファイルにするとロールオーバーが機能しない

    ホームページビルダー11を使っているのですが、 JavaScriptを外部ファイルにして読み込ませると、ロールオーバー部分の画像のみ切り替わりません。 ////////////////////////////////////////////////// ■外部ファイルの記述内容■ <SCRIPT language="JavaScript"> <!--HPB_SCRIPT_ROV_50 function HpbImgPreload() { var appVer=parseInt(navigator.appVersion); var isNC=false,isN6=false,isIE=false; if (document.all && appVer >= 4) isIE=true; else if (document.getElementById && appVer > 4) isN6=true; else if (document.layers && appVer >= 4) isNC=true; if (isNC||isN6||isIE) { if (document.images) { var imgName = HpbImgPreload.arguments[0]; var cnt; swImg[imgName] = new Array; for (cnt = 1; cnt < HpbImgPreload.arguments.length; cnt++) { swImg[imgName][HpbImgPreload.arguments[cnt]] = new Image(); swImg[imgName][HpbImgPreload.arguments[cnt]].src = HpbImgPreload.arguments[cnt]; } } } } function HpbImgFind(doc, imgName) { for (var i=0; i < doc.layers.length; i++) { var img = doc.layers[i].document.images[imgName]; if (!img) img = HpbImgFind(doc.layers[i], imgName); if (img) return img; } return null; } function HpbImgSwap(imgName, imgSrc) { var appVer=parseInt(navigator.appVersion); var isNC=false,isN6=false,isIE=false; if (document.all && appVer >= 4) isIE=true; else if (document.getElementById && appVer > 4) isN6=true; else if (document.layers && appVer >= 4) isNC=true; if (isNC||isN6||isIE) { if (document.images) { var img = document.images[imgName]; if (!img) img = HpbImgFind(document, imgName); if (img) img.src = imgSrc; } } } HpbImgPreload('_HPB_ROLLOVER1', 'images/request.gif', 'images/request2.gif'); //--> </SCRIPT> ////////////////////////////////////////////////////// 外部ファイル読み込み時のhtmlタグ <SCRIPT type="text/javascript" scr="images/ファイル名"></SCRIPT> 恐らく、ホームページビルダーの独自性の問題だと思うのですが、 どうすればロールオーバーを機能させることができるでしょうか? 宜しくお願いいたします。

  • ロールオーバーとOnclickで

    A href="javascript:;"target="_top" onclick="MM_nbGroup('down','group1','~.gif','detail','~.jpg',1)" id="_HPB_ROLLOVER1" onmouseover="HpbImgSwap('_HPB_ROLLOVER1', '~.gif'); HpbImgSwap('_HPB_ROLLOVER2', '~.jpg');" onmouseout="HpbImgSwap('_HPB_ROLLOVER1', '~.gif'); HpbImgSwap('_HPB_ROLLOVER2', '~.jpg');"><IMG src="~.gif" width="51" height="50" border="0" name="_HPB_ROLLOVER1"></A> 上のようにホームページビルダーを使って、ロールオーバーでサムネイルと大きな画像が切り替わるようにしています。 しかしサムネイルをクリックしたら、他のサムネイルをクリックするまで大きい画像が固定される方法がイマイチわかりません。 分かる方いらっしゃいましたら教えて下さい。 あまり詳しくなくて旨く説明できずにすみません。 http://irving.jp/rwr/discography.html のような 感じにしたいんです。

  • ロールオーバー効果にならない。

    ロールオーバー効果にならない。 宜しくお願いします。 ホームページビルダー10にてホームページを作成中です。 リンクメニューのボタンでロールオーバー効果を使おうと定番手順(参考書の記載通り)に やっているのですが、うまくいきません。 同手順でこのページはできて、このページはできない!?って感じです。 HTMLで確認してもよく分かりません(ほど素人ですが・・・)。 ご教授宜しくお願いします。 ちなみに・・・ <ならないパターン> <td height="37"><a href="http://ブログID.fc2.com/" id="_HPB_ROLLOVER8" onmouseout="HpbImgSwap('_HPB_ROLLOVER8', 'xxxx.gif');" onmouseover="HpbImgSwap('_HPB_ROLLOVER8', 'xxxx.gif');" target="_blank"><img src="xxxx.gif" width="190" height="37" border="0" name="_HPB_ROLLOVER8" /></a><a href="#"> </a></td> <なるパターン> <DIV style="top : 183px;left : 498px; position : absolute; z-index : 3; " id="Layer3"><A href="home.html" id="_HPB_ROLLOVER1" onmouseout="HpbImgSwap('_HPB_ROLLOVER1', 'xxxx.gif');" onmouseover="HpbImgSwap('_HPB_ROLLOVER1', 'xxxx.gif');"><IMG src="xxxx" width="172" height="139" border="0" name="_HPB_ROLLOVER1"></A></DIV> どちらとも 挿入→画像効果→ロールオーバー効果の手順にて作成しました。 宜しくお願いします。

  • JavaScriptのロールオーバーに関わるスクリプトを外部に置きたい。

    JavaScriptのロールオーバーに関わるスクリプトを 外部に置きたいと考えています。 このページのほかに、より良いと思われる記述方法はないでしょうか。いくつかサンプルがあればうれしいです。 オブジェクト指向JavaScript http://web.paulownia.jp/script/rollover.html

  • 外部 .js で動かないものが出てきてしまいました

    外部 .js への移行に伴い、動かないものがあります。エラは「未定義の変数です: rollover」、および「スクリプトで呼び出しているソースが見つかりません。」。 test.html、test.js、および画像はすべて同じディレクトリに置いています。 (test.js) window.onload = function loadImage() { var rollover = new Array(3); for (var i = 0; i < 3 ; i++) { rollover[i] = new Image(); } rollover[0].src = "image-1-x.gif"; rollover[1].src = "image-2-x.gif"; rollover[2].src = "image-3-x.gif"; } または function loadImage() { var rollover = new Array(3); for (var i = 0; i < 3 ; i++) { rollover[i] = new Image(); } rollover[0].src = "image-1-x.gif"; rollover[1].src = "image-2-x.gif"; rollover[2].src = "image-3-x.gif"; } window.onload = loadImage; (test.html) <html> <head> <script type="text/javascript" src="test.js"></script> </head> <body> <a onmouseover="image-1.src=rollover[0].src; return true;" onmouseout="image-1.src='image-1-y.gif'; return true;" href="page-1.htm"><img name="image-1" src="image-1-y.gif" alt="Page 1"></img></a> <a onmouseover="image-2.src=rollover[1].src; return true;" onmouseout="image-2.src='image-2-y.gif'; return true;" href="page-2.htm"><img name="image-2" src="image-2-y.gif" alt="Page 2"></img></a> <a onmouseover="image-3.src=rollover[2].src; return true;" onmouseout="image-3.src='image-3-y.gif'; return true;" href="page-3.htm"><img name="image-3" src="image-3-y.gif" alt="Page 3"></img></a> </body> </html>

  • この配列は何?

    ホームページビルダーでロールオーバーのスクリプトを自動で書き出したものの一部ですが、 理解不能のところがあります。 以下がスクリプト var swImg; swImg=new Array; function HpbImgPreload() { var appVer=parseInt(navigator.appVersion); var isNC=false,isN6=false,isIE=false; if (document.all && appVer >= 4) isIE=true; else if (document.getElementById && appVer > 4) isN6=true; else if (document.layers && appVer >= 4) isNC=true; if (isNC||isN6||isIE) { if (document.images) { var imgName = HpbImgPreload.arguments[0]; var cnt; swImg[imgName] = new Array;//←ここです for (cnt = 1; cnt < HpbImgPreload.arguments.length; cnt++) { swImg[imgName][HpbImgPreload.arguments[cnt]] = new Image(); swImg[imgName][HpbImgPreload.arguments[cnt]].src = HpbImgPreload.arguments[cnt]; } } } } HpbImgPreload('_HPB_ROLLOVER1', 'rollover_n_image.gif', 'rollover_m_image.gif'); 以下がボディ <BODY> <P><A href="#" id="_HPB_ROLLOVER1" onmouseout="HpbImgSwap('_HPB_ROLLOVER1','rollover_n_image.gif');" onmouseover="HpbImgSwap('_HPB_ROLLOVER1','rollover_m_image.gif');"><IMG border="0" name="_HPB_ROLLOVER1" src="rollover_n_image.gif"></A></P> </BODY> このswImgの配列は[]の中が数値でないようですが、これは特殊な配列ですか? swImg[imgName] = new Array; どなたか初心者にも分かるように説明していただけるとありがたいです。