• ベストアンサー

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>

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

  • ベストアンサー
  • 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