プロが教える店舗&オフィスのセキュリティ対策術

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');
//-->

上記に原因があるでしょうか。
他に原因ありそうでしょうか?

A 回答 (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上での操作についてはお答えできませんので悪しからず。
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/05/23 13:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!