• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:HPビルダー12 Javascriptのロールオーバーが反映されない。)

HPビルダー12のJavascriptロールオーバーが反映されない原因と解決方法

このQ&Aのポイント
  • プレビュー画面では反映されていましたが、実際にアップすると反映されません。
  • 原因は、スクリプトのパス指定が間違っている可能性があります。
  • 他の原因としては、ファイルのパーミッション設定や他のJavascriptとの競合が考えられます。

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

  • ベストアンサー
  • abril
  • ベストアンサー率69% (388/560)
回答No.1

> 上記に原因があるでしょうか。 あります。ロールオーバー用の画像のパスが全て以下の様な記述になってますが、 'file:///D:/Documents/hplogo/info1.gif' 'file:///C:/Users/md11/AppData/Roaming/IBM/Homepage Builder Version 12/tmp/book_green1.jpg' こういう書き方は、Webコンテンツが質問者様のPC上に置かれている時のみ有効なパスです。実際にアップロードされるWebサーバ上にはD:/Documents/だのC:/Users/md11/AppData/Roaming/IBM/Homepage Builder Version 12/tmp/だのというディレクトリは存在していないからです。 大昔HPビルダーに触ってみてなんて迷惑な…と思った記憶がありますが今もそのままだとしたら、初期設定が、画像とかのパスを相対参照ではなくPC上での絶対参照にしているんでしょうね。妥当な例えではないかもしれませんが、上記の様なパスの書き方は、ある一部の地方でのみ理解できる方言みたいなもので、日本全国で通じる標準語ではない、という事です。「プレビュー画面」で見る時、というのはその方言が通じる環境(質問者様のPC上)で画像の居場所を教えているのでブラウザが画像の位置を読み取る事ができ表示されますが、「アップ」したWebサーバー上では「何言ってるんだか理解できん。それじゃ画像の居場所もわからん。」となり表示してくれません。 スクリプト内の画像のパスを、Webサーバ上にアップした時に正しく理解できる書き方(下記のいずれか)に変えれば動きます。 (1)相対参照、 (2)Webサーバ上の構造に合った絶対参照 (3)http:~で始まるURL お勧めはPC上からでもWebサーバ上からでも表示できる(1)です。 (2)は逆にPC上では表示できなくなります。(3)は画像が先にWebサーバ上にアップされていないとやはりPC上では表示できません。 HPビルダーはその後全く関知していないので、具体的なHPビルダー12上での操作についてはお答えできませんので悪しからず。

ultimavirgem
質問者

お礼

ありがとうございました。 D/Documents/・・・の所を、サーバー上にアップしてあるアドレスに書き換えたところ、正常に動作しました。

関連するQ&A