- ベストアンサー
画像が表示されない原因と解決方法
- 画像がうまく表示されない問題について説明します。
- タグ1については、インフォシークのサーバーでは表示されましたが、A-RINGSのサーバーでは表示されなかったことがあります。サーバーの問題が原因かどうか確認してください。また、タグ2についてはどちらのサーバーでも表示されなかったため、別の原因が考えられます。
- 画像が正しく表示されるようにするためには、以下の点を確認してください。1)ファイルパスが正しいかどうか確認し、存在しないパスを指定していないか確認してください。2)画像のフォーマットがサポートされているか確認してください。3)画像が正しくアップロードされているか確認し、ファイル名が正しいか確認してください。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
以下を試してみて下さい。これは、前回のテスト3とあまり変わりませんので、コードやURLの打ち間違えなどがなければ表示されると思います。 また、DTIブログの方は原因が分かりませんのでサポートにお問い合わせ下さい。 <html> <head> ~ </head> <body> <script type="text/javascript"> var simg = [ "<a href=\"http://~\"/><img src=\"http://~/~.jpg\" /></a>", "<a href=\"http://~\"/><img src=\"http://~/~.jpg\" /></a>", "<a href=\"http://~\"/><img src=\"http://~/~.jpg\" /></a>" ]; document.write(simg[Math.floor(Math.random() * simg.length)]); </script> </body> </html>
その他の回答 (5)
いくつかのテストを実行してみてください。その結果をご報告ください。 また、下記に出てくる"~"表記は省略を意味します。適切なものに変えてテストしてください。 ■テスト1 imgタグのsrc属性の値(http://~/~.jpg)を、アドレスバーに直接打ち込んで表示してみてください。 ■テスト3 3つのサーバで、以下を実行してみてください。 <html> <head> ~ </head> <body> <img src="http://~/~.jpg" /> </body> </html> ■テスト3 3つのサーバで、以下を実行してみてください。 <html> <head> ~ </head> <body> <script type="text/javascript"> document.write("<img src=\"http://~/~.jpg\" />"); </script> </body> </html>
お礼
色々いじってみてつけ方がわかりました 同じ人にはシステム的につけられないため最高得点をつけさせて頂きました。 DTIブログサーバーには問い合わせてみます。 ありがとうございました。
補足
遅くなりました。 結果報告です。 ■テスト1 HPで表示されている画像と全く同じ画像のページにいけました。 ■テスト2 3つのサーバー全てテスト1で表示された画像と全く同じ画像が表示されました。 ■テスト3 インフォシークとA-RINGはテスト1で表示された画像と全く同じ画像が表示されましたが、DTIブログでは何も表示されませんでした。
<a href=\"XXX\" target=\"_blank\"><img src=\"XXX.jpg\" border=0></a> 上記を単体で表示させるというのは、JavaScriptで下記のように実行するということでしょうか? document.write("<a href=\"XXX\" target=\"_blank\"><img src=\"XXX.jpg\" border=0></a>"); また、href=\"XXX\"のXXXの部分がhttp://から始まっているのであれば、インフォシークでタグ2のランダム表示を試してみてください。 インフォシークできちんと表示されるのであれば、JavaScriptの方ではなくサーバ側の問題と見て確かでしょう。 また、サーバを借りてウェブサイトを運営しているのでしたら、ご自分のパソコンに画像が無ければならないということではないと思います。
補足
言葉が変でうまく伝えられなかったみたいです。 私が言う単体でとは <a href=\"XXX\" target=\"_blank\"><img src=\"XXX.jpg\" border=0></a> <br> <a href=\"XXX\" target=\"_blank\"><img src=\"XXX.jpg\" border=0></a> <br> <a href=\"XXX\" target=\"_blank\"><img src=\"XXX.jpg\" border=0></a> こういった形でランダムではなく画像を並べる表示方法ですね また私はhtmlタグはわかるのですがJavaScriptは余り理解できていないので、JavaScriptで下記のように実行するということでしょうか? と言う質問はわかりません 私が参考にしてるのは5・6年生にもわかるやさしいJavaScript(http://www.sky.sannet.ne.jp/masapine/java_top.html) と言うHPなのですがタグをコピーしていじって何とかしてる感じです インフォシークでもタグ2のランダムを試してみたのでうが全く何も表示されません。 またDTIブログのサーバーを使って試してみたのですがそこでも全く何も表示されませんでした
タグ1でも、直したタグ2でも、ローカルでは普通に表示されました。 ですので、サーバ側の問題ではないでしょうか? 以下のようにしても表示されませんでしょうか。 <script type="text/javascript"> var simg = [ "icon1.png", "icon2.png", "icon3.png", "icon4.png", "icon5.png" ]; document.write("<img src=\"" + simg[Math.floor(Math.random() * simg.length)] + "\">"); </script> <script type="text/javascript"> var simg = [ "<a href=\"XXX\" target=\"_blank\"><img src=\"XXX.jpg\" border=0></a>", "<a href=\"XXX\" target=\"_blank\"><img src=\"XXX.jpg\" border=0></a>", "<a href=\"XXX\" target=\"_blank\"><img src=\"XXX.jpg\" border=0></a>" ]; document.write(simg[Math.floor(Math.random() * simg.length)]); </script> (A-RINGのサイトはここの利用規約上、乗せても大丈夫でしょうか?)
補足
ありがとうございます。 タグ1正常に表示されました。 嬉しいです。 タグ2は全く表示されませんでしたが…。 規約を調べてみたところ、インフォシークのサーバーは引っかからないのですが、A-RINGのサーバーのサイトとリンクしてる内容が、残念ですが利用規約に引っかかるみたいです。 タグ2のほうですがアフィリエイトで表示された物をコピーして貼り付けたタグなのですが、ランダムで表示しようとさえしなければ <a href=\"XXX\" target=\"_blank\"><img src=\"XXX.jpg\" border=0></a> このタグ単体で動くのですがランダムで表示させようとすると全く何も表示されなくなります。 (□の中に×のような表示すら見られませんでした。) どういう仕組みになってるのか私にはわからないのですが・・・ XXX.jpg この部分が私のPCの内部に無くても単体では表示されるのですが、 XXX.jpg ランダムで表示させる場合はこの部分をPCの内部に作る必要性が出てくるのでしょうか? (わかりずらい文章ですみません)
きちんと確認せずに回答してしまい、申し訳ありません。 simg[0]="<a href="XXX" target="_blank"><img src="XXX.jpg" border=0></a>"; この部分に問題がありました。詳しく説明します。 文字列は、クォーテーションで囲みます。 "xxx" または 'xxx' のように表します。 問題の部分では、最初と最後のクォーテーションの中に、いくつかのクォーテーションを書いてしまったため、エラーを引き起こしてしまったのです。 "xxx"xxx" ↑この部分 クォーテーションで囲まれた文字列の中に、クォーテーションを書く場合は "xxx\"xxx" のように、バックスラッシュでエスケープする必要があります。ですので、問題の部分を正しく書くと、 simg[0]="<a href=\"XXX\" target=\"_blank\"><img src=\"XXX.jpg\" border=0></a>"; このようになります。 これで表示されると思います。 ども、申し訳ありませんでした。
補足
ありがとうございます。早速やってみました simg[0]="<a href="XXX" target="_blank"><img src="XXX.jpg" border=0></a>"; ↓ simg[0]="<a href=\"XXX\" target=\"_blank\"><img src=\"XXX.jpg\" border=0></a>"; ですが、表示されませんでした。 問題のページのURLを書き込んだほうがよろしいでしょうか?
タグ2の、以下の部分がおかしいと思います。 document.write("<img src='"+simg[Myimg]+"'>"); これを実行すると以下のように、imgタグのsrc要素の中に、aタグが入ってしまいます。 <img src="<a href="XXX" target="_blank"><img src="XXX.jpg" border=0></a>"> なので、タグ2を以下のようにすれば、aタグだけ(もともと中にimgタグが入っています)を表示することが出来ると思います。 document.write(simg[Myimg]);
補足
お早い回答ありがとうございます 早速… document.write("<img src='"+simg[Myimg]+"'>"); を↓ document.write(simg[Myimg]); に変えてみたのですがうまく表示されませんでした 気になってることがあるのですが… <a href="XXX" target="_blank"><img src="XXX.jpg" border=0></a>"; この部分ですが、アフィリエイトの元からタグをコピーしたものなのですが、もしかしてそれが原因で表示されなかったりしますか?
お礼
ありがとうポイントのつけ方がどこに書いてるかわからないのですが こうすればつけられるのでしょうか?
補足
ありがとうございます。 ちゃんと表示されました。 大感謝感激です。 本当にありがとうございました。