• ベストアンサー

popup画像が消えてしまい表示されません

これまではjavascriptを使い、サムネイル画像をクリックしたらサイズを指定した別の小窓に拡大画像を表示するように設定していたのですが、現在表示されなくなってしまいました。サーバー側にアップしたページのソースを見てみると、画像についてのタグの部分が完全に消えてしまっています。popup画像以外の貼り付けた画像はちゃんと表示されていますし、ローカルサイトでは全てがきちんと表示されます。 なお、ソースのhead内に以下のようなおかしな記述が出ていて、意味がわかりません。全てのページに出ています。 <script language="JavaScript"> <!-- function SymError() { return true; } window.onerror = SymError; var SymRealWinOpen = window.open; function SymWinOpen(url, name, attributes) { return (new Object()); } window.open = SymWinOpen; //--> </script>

  • nobu3
  • お礼率57% (41/71)

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

  • ベストアンサー
  • ryota2
  • ベストアンサー率43% (61/140)
回答No.1

何回やってもそのスクリプトが挿入されるのですか? サーバが勝手に入れるのであればポップアップを禁止しているとしか思えないのですが・・・ スクリプトの説明です。 function SymError() //関数定義です { return true; //戻り値はtrue } window.onerror = SymError; //window.onerror()関数にSymError()を上書きします。 //すると、windowでエラーが起きてもtrueが返るので無視されます。 var SymRealWinOpen = window.open; // SymRealWinOpen()にwindow.open()を上書き function SymWinOpen(url, name, attributes) //関数定義 { return (new Object()); //戻り値は特になんでもないオブジェクト } window.open = SymWinOpen; //window.open()にSymWinOpen()を上書き ウインドウが開かなくなるのはお分かりでしょうか。 window.open()を書き換えてありますね。 開かなくなったことに対してエラーが起きてももみ消すような感じですね。 何度アップしてもそうなるのであれば サーバの管理者に聞いてみてください。

nobu3
質問者

お礼

いろいろとお世話になりましたが、どうやっても今回のスクリプトエラー原因がわかりませんのでついに再セットアップを実行しました。とりあえずインターネットに接続してみましたら、これまでのエラーはすべて消えて正常に表示されるようになっています。原因がわからないままというのがやや気がかりですが、これ以上問題を長引かせるわけにもいかず、再セットアップ後は正常に戻ったことで良しとします。いろいろなアドバイスをいただきましてありがとうございました。お礼とともにこの問題の締め切りとさせていただきます。

nobu3
質問者

補足

おかげさまでウインドウが開かなくなるのは分かりました。そうするとサーバーの問題ではなく、私が導入しようと設置したメニュースクリプトの設定に問題があるような感じです。サーバーサイトのページを全て削除して入れ替えても同様でしたし、別のサーバーサイトを使ってみても同様の現象でした。どこかにポップアップを禁止するスクリプトが書いてあるのでしょうか?これまでは閉鎖されていたのですが、スクリプト配布先にも確認してみます。

その他の回答 (3)

  • ryota2
  • ベストアンサー率43% (61/140)
回答No.4

こうなれば強行突破です。 HTMLの文法的には好ましくないですが、 <html>の前に <script language="javascript"><!-- myOpen=window.open; //--></script> と、書き換えられるまでにバックアップです。 そして、以下のスクリプトの open(~); を全て myOpen(~); に書き換えてください。

nobu3
質問者

補足

再度お世話になります。 最アップした後のソースです <script language="JavaScript"> <!-- function SymError() { return true; } window.onerror = SymError; var SymRealWinOpen = window.open; function SymWinOpen(url, name, attributes) { return (new Object()); } window.open = SymWinOpen; //--> </script> <script language="javascript"><!-- myOpen=window.open; //--></script> <html> <head> <script><!-- myOpen("","_blank","width=100,height=100"); //--></script> </head> <body> </body> <script language="JavaScript"> <!-- window.open = SymRealWinOpen; //--> </script> </html>

  • ryota2
  • ベストアンサー率43% (61/140)
回答No.3

No.1です。 どうしても解決しないようであれば、 下のようなテストページをサーバにアップしてみてください。 ------------------------------------ <html> <head> <script><!-- window.open("","_blank","width=100,height=100"); //--></script> </head> <body> </body> </html>

nobu3
質問者

補足

テストページをアップした後のソースです <html> <head> <script language="JavaScript"> <!-- function SymError() { return true; } window.onerror = SymError; var SymRealWinOpen = window.open; function SymWinOpen(url, name, attributes) { return (new Object()); } window.open = SymWinOpen; //--> </script> <script><!-- window.open("","_blank","width=100,height=100"); //--></script> </head> <body> </body> <script language="JavaScript"> <!-- window.open = SymRealWinOpen; //--> </script> </html>

  • nta
  • ベストアンサー率78% (1525/1942)
回答No.2

無料のホームページサーバにアップロードすると広告の挿入のためにJavaScriptがページの上部や下部に書き加えられます。無料ということで仕方がないことですが、自作のスクリプトを別の場所に移動させてみて、書き換えが起きてしまうかどうか確認して下さい。

nobu3
質問者

お礼

何がなんだかわからないままで、時間ばかりが過ぎてゆく状態でしたので、思い切って再セットアップをやりましたら現在は正常に表示されるようになっています。今回の不思議なエラーについて原因不明、解決不能の状態のままですがこれで決着したものと考えようと思います。お世話になりありがとうございました。

nobu3
質問者

補足

ホームページサーバーはプロバイダーが提供しているサイトです。また、ミラーサイトとして使っている、無料ホームページでも同様の現象ですので、私自身のスクリプトの問題だと思うのですが・・・それがまったくわからなくて困っています。

関連するQ&A

  • 先頭によくあるJavaScript

    ホームページのソースを見るとよく下記のJavaScriptが記述されています。この意味は何でしょうか。 回答お願いします。 <script language="JavaScript"> <!-- function SymError() { return true; } window.onerror = SymError; var SymRealWinOpen = window.open; function SymWinOpen(url, name, attributes) { return (new Object()); } window.open = SymWinOpen; //--> </script>

  • サーバーに転送しても画像が表示されません

    こんにちは。 HTMLには無知でも詳しくもない、微妙な知識の者です。 先ほどHPを作っていて、サーバーにFFFTPで転送したのですが、他のページはキチンと反映されているのに、1つだけ画像が表示されないページがありました。 画像が壊れてるのではなく、全く存在してないのです。ソースを見ると、画像のIMGタグが入ってません。でもFFFTPで転送したHTMLファイルには確かにタグが表示されているし、転送されたファイルをダブルクリックすると画像は壊れてますが存在はしてます。画像に直接アクセスすると、GIFファイルは表示されませんでした。PNGに変換すると表示されたのですが、貼り付けたHTMLファイルにはやっぱり何もありません。 ブラウザから見たソースに、書いた覚えのないスクリプトがついていたのですが、これが原因なのでしょうか?↓ <script language="JavaScript"> <!-- function SymError() { return true; } window.onerror = SymError; var SymRealWinOpen = window.open; function SymWinOpen(url, name, attributes) { return (new Object()); } window.open = SymWinOpen; //--> </script>

  • ウィンドウが開きません

     自分のホームページ上にテストを作って、その結果を別のウィンドウで出すようにしたいのですが、出ません。そのまま強引にアップロードして、そのページのソースを見てみたら、入れてないスクリプトが表示されました。 <script language="JavaScript"><!--function Symerror() {return true;}window.onerror = SymError; var SymRealWinOpen = window.open;function SymWinOpen(url,name,attributes){return(new Object());} window.open = SymWinOpen;//--></script> 見難くてすみませんが、これはウインドウが開かない理由がかかれているのでしょうか。どうやったらウインドウが表示されるでしょうか。ちなみにホームページ作成には本舗というDionのものを使っています。また、同じプログラムでマイドキュメント内ではちゃんと表示されます。

  • ファイルをアップロードするとhtmlファイルに勝手に文が追加されます

    ファイルをアップロードすると 下のような文が勝手に追加されます。 <script language="JavaScript"> <!-- function SymError() { return true; } window.onerror = SymError; var SymRealWinOpen = window.open; function SymWinOpen(url, name, attributes) { return (new Object()); } window.open = SymWinOpen; //--> </script> スクリプトのエラーなのでしょうか? ジャバはレンタルのアクセスのみに 使用していてタグもコピペなので 間違いはないと思うのですが・・・ なぜこのような事が起こるのでしょうか? でどう対処すればよろしいのでしょうか? すいませんがよろしくお願いします。

    • ベストアンサー
    • HTML
  • HTML中のJavaScript読み込みエラー

    技術者ではなく使用者の立場ですが、こちらで質問させて頂きます。 あるサイトの特定ページを読み込んでリンクをクリックしても、 リンク先のページに飛ばなくなりました。(ある日突然・・) 2台のパソコンで同じページを読み込んでHTMLをソース表示で 比べてみたところ、<HEAD>のJavaScriptのリンク先の記述が 読み込まれていなくて、 <script language="JavaScript"> <!-- function SymError() { return true; } window.onerror = SymError; var SymRealWinOpen = window.open; function SymWinOpen(url, name, attributes) { return (new Object()); } window.open = SymWinOpen; //--> </script> サイト管理者に確認してブラウザ(IE6.0SP2)の設定も リセットして見ましたが結果は同じでした。 考えられる原因と対処方法を教えてください。

  • JavaScriptのreturnについて

    <script language="JavaScript"> <!-- function SymError() { return true; } window.onerror = SymError; var SymRealWinOpen = window.open; function SymWinOpen(url, name, attributes) { return (new Object()); } window.open = SymWinOpen; //--> </script> このスクリプトのSymErrorという関数で return trueと書いてありますがこれはなんでしょうか? 返り値だったら()がつくはずですしそもそもこの関数には引数がないです。 それとwindow.openには()がつかないのでしょうか?(windows.open()のように) 次のSymWinopenという関数の返り値にnew Object()がありますがこれもなんでしょうか? 新しいオブジェクトというのはわかるのですが実際何をしてるのかわからなくて。 最後にwindow.open = SymWinOpenこれはSymWinOpenという名のウィンドウを 開くということでしょうか?でもopenメソッドは○=window.open()という形を 取るはずなのに逆なのが疑問です。 たくさん質問をして恐縮ですがわかるのだけでいいですのでご教授していただけたらうれしいです。 ちなみにここのHPのソースです。 http://www.oscarcreation.com/japanese/

  • 見覚えのないコードが・・・

    自分のHPのアップロードしたソースに入れた覚えのないコードが二箇所入っていました。 1、body内の忍びアクセス解析のコードの下に下記コード。 <script language="JavaScript"> <!--function SymError() {return true;} window.onerror = SymError; var SymRealWinOpen = window.open; function SymWinOpen(url, name, attributes) {return (new Object()); }window.open = SymWinOpen; //--> </script> 2、</html>あとに <script language="JavaScript"> <!-- var SymRealOnLoad; var SymRealOnUnload; function SymOnUnload() { window.open = SymWinOpen; if(SymRealOnUnload != null) SymRealOnUnload(); } function SymOnLoad() { if(SymRealOnLoad != null) SymRealOnLoad(); window.open = SymRealWinOpen; SymRealOnUnload = window.onunload; window.onunload = SymOnUnload; } SymRealOnLoad = window.onload; window.onload = SymOnLoad; //--> </script> アクセス解析やカウンターのあるページにのみあるようなのですがこれはウィルスでしょうか? 上記解析、カウンタは忍者ツールよりお借りしています。 制作環境はWINDOWSXP,IE6でタグうち、ノートンを使用しております。 ログを確認しましたが該当するものはないと思いましたので質問させていただきます。 どうぞご教授お願いいたします。

  • これってウィルスですか?

    javascriptを使っているのですが、アップロードすると次のようなプログラム(?)が勝手に挿入されてしまうようです。 今までと全く変わりない方法でアップロードをしていますし、ウィルススキャンをしてもウィルスは検出されませんでした。 <head>の部分に挿入されるものは以下の文章です。 <script language="JavaScript"> <!-- function SymError() { return true; } window.onerror = SymError; var SymRealWinOpen = window.open; function SymWinOpen(url, name, attributes) { return (new Object()); } window.open = SymWinOpen; //--> </script> </html>以下に挿入される文章は次の通りです。 <script language="JavaScript"> <!-- var SymRealOnLoad; var SymRealOnUnload; function SymOnUnload() { window.open = SymWinOpen; if(SymRealOnUnload != null) SymRealOnUnload(); } function SymOnLoad() { if(SymRealOnLoad != null) SymRealOnLoad(); window.open = SymRealWinOpen; SymRealOnUnload = window.onunload; window.onunload = SymOnUnload; } SymRealOnLoad = window.onload; window.onload = SymOnLoad; //--> </script> 昨日と今日で変わったことといえば、…シマンテックのノートンインターネットセキュリティを新たにインストールしただけなのですが…。

  • ネットバンクのログイン画面に入れない

    初めて質問させていただきます。 私の環境はWINXPで最近クリーンインストールしたのですが、IE6でスクリプトのエラーらしきものがでてそれまで入れたネットバンク関係(イーバンク・ソニーバンク)のログイン画面に入れなくて困っています。 その画面のソースを見たところ、大体が <!-- function SymError() { return true; } window.onerror = SymError; var SymRealWinOpen = window.open; function SymWinOpen(url, name, attributes) { return (new Object()); } window.open = SymWinOpen; //--> というソースで、Window.openでのエラーらしきものがおこっています。(あまり詳しくないので推測なのですが。ーー;) セキュリティーソフトでノートンセキュリティーワークスとノートンファイヤーウォールを入れていますが、これが原因なのかもわかりません。(ためしにファイヤーウォールを切ってセキュリティーワークスのクリーンアップをして、再アクセスしてみても駄目でした) 解決策を教えていただければ助かります。よろしくお願いします。

  • 効果付きの画像変化

    画像を効果を付けて変化をさせて、三回変化したら、変化を終了させたいんですけど、下の記述に何を加えたら良いか分かりましたら教えて下さい。お願いします。 img#img1 { filter: progid:DXImageTransform.Microsoft.RandomDissolve(Duration=2.0); } --> </style> <script language="JavaScript"> <!-- function SymError() { return true; } window.onerror = SymError; var SymRealWinOpen = window.open; function SymWinOpen(url, name, attributes) { return (new Object()); } window.open = SymWinOpen; //--> </script> <script type="text/javascript"> <!-- var ie = navigator.userAgent.indexOf("MSIE "); var verIE = 0, winIE = -1; if(ie >= 0) { verIE = parseFloat(navigator.userAgent.substr(ie + 5)); winIE = navigator.userAgent.indexOf("Windows"); } var photo = new Array("aki1.jpg", "aki2.jpg", "aki3.jpg"); var i = 0; function transImage2 () { var trans = 0; var img = document.images['img1']; if(verIE >= 5.5 && winIE >= 0) { if(img.filters) trans = img.filters[0]; } if(img.complete) { i++; if(i >= photo.length) i = 0; if(trans) trans.apply(); img.src = photo[i]; if(trans) trans.play(); } setTimeout("transImage2()", 4000); } //--> </script> </head> <body onload="setTimeout('transImage2()', 4000);"> <table> <tr> <td> <img name="img1" id="img1" src="aki1.jpg" width="240" height="180" alt=""> </td> </body>

専門家に質問してみよう