- ベストアンサー
ロールオーバーを外部にするとエラーがでます。
ホームページビルダー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');
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
とりあえずローカルにあるファイルについては、javascriptが記述されているとセキュリティ警告が出るのはIEの仕様です。 クリックして機能するなら問題は無いかと。 一度サーバにアップしてみても警告が出るなら話は別ですが。
その他の回答 (5)
- crepon133
- ベストアンサー率51% (399/776)
ロールオーバーで同時に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
お礼
ロールオーバーでは1つの箇所しか画像は変えていません。 おっしゃる通りHPB_SCRIPT_CODE_40 の外部ファイルを削除しても ロールオーバーが作動しました。 ビルダーまかせではなく、JavaScriptきちんと勉強しないとだめですね(>_<) ちなみにJavaScriptの順番をかえてもエラーがでました。 サーバにアップしてみれば問題ないのできっとビルダーで私が外部に移動したファイルをうまく読み込めないのでしょうね…。 それか記述が間違っているか^^; たくさんたくさん親身にご回答頂きましてありがとうございました。 サーバ上問題がなく動くのでとりあえずこのままやってみます。 もっともっと勉強してcrepon133さんみたいに解読出来るようになれるよう頑張ります♪ 本当にありがとうございました
- k0021
- ベストアンサー率26% (32/120)
>「セキュリティ保護の為、コンピュータにアクセス出来るアクティブコンテンツは表示されないようWEBブラウザで制限されています。 上記のメッセージが表示されるのは、下記の指定がされていないと思います ツール→インターンネット オプション→詳細設定→セキュレテイ の中の マイコンピュータでの、ファイルのアクテイブコンテンツの実行を許可する にチェックが付いていますか 間違えていたら御免ね >ビルダーでプレビューを見ると「このページのスクリプトでエラーが発生しました このごろホームページビルダーを使用していないが、テストで開くと出ませね 全てavascriptは、外部ファイルの指定しか有りませんので直接記述のテストは出来ませんが 直接記述の場合は、正常に起動すると記憶していますが??
お礼
ありがとうございます^^ まだビルダーを使いこなせてないみたいです(>_<) もう少し勉強してみます。 ありがとうございました。
エラーが出るとのことですが、サーバにアップして問題がなければOKです。 なぜならば、IEのセキュリティはネットワークの環境によって動きが違うところがあり、 Web上でエラーなしで動作してもローカルではエラーが出るケースがままあります。 インターネットオプションにあるセキュリティ関連の設定項目で 「ローカルディスクでのアクティブスクリプト云々」ってのがあり、 そこをいじるとローカルでのエラーも出なくなると思われます。 ※ただし、その分セキュリティは甘くなりますのでご注意を ※設定項目の場所は覚えてませんが探せば見つかるレベルです
お礼
お時間頂きましてありがとうございます^^ ローカルでの確認の時はこのやり方を参考にやらせて頂きます♪ ありがとうございました。
- crepon133
- ベストアンサー率51% (399/776)
普通のロールオーバーだったら2つのjavascriptファイルだと思いますが <!--HPB_SCRIPT_ROV_50 <!--HPB_SCRIPT_PLD_50 3つ目のjavascriptは <BODY onload="_xxxxx と記入しなければならないものではありませんか?
お礼
お時間頂きましてありがとうございます。 みなさん親切な方で嬉しいです^^ 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)
<head></head>間に <meta http-equiv="Content-Script-Type" content="text/javascript"> を入れていないから「宣言されていない」エラーが出るのでは? ビルダーのエラーコンソールは良く知りませんが。
お礼
<head></head>間にいれてみましたが 同じエラーがでました(>_<)
お礼
早速の回答ありがとうございます^^ サーバにアップしたら警告でませんでした。 ホームページビルダーのプレビューを見ると 「このページのスクリプトでエラーが発生しました エラー:'HPB_SCRIPT_CODE_40''HPB_SCRIPT_CODE_50''HPB_SCRIPT_CODE_50'は宣言されていません。」 と出るのはどうしてなんでしょうか? ごめんなさい。きっと初歩的な事を聞いているのでしょうね(>_<)