- ベストアンサー
javascriptの効かないサーバーはありますか?
先日、完成したサイトをお客様へ納品しました。 会社のPCでチェックし、また客先のローカルでもチェックし大丈夫でした。 しかし、サーバーへアップするとロールオーバーが効かなくなりました。javasciptは外部から各ファイルにリンクさせています。ロールオーバーが効かない原因がわからず困っています。 これは、お客様のサーバーでjavascriptを効かなくさせるのでしょうか。サーバーにそのような設定ができるのでしょうか? サーバーについての知識がなくすみませんが、どなたかご存知でしたら教えてください。 よろしくお願いいたします(>_<)
- みんなの回答 (13)
- 専門家の回答
質問者が選んだベストアンサー
javascriptはクライアントサイドで動きますので、サーバに転送してもサーバ側の設定でどうにかできるものではないですよ。サーバ側の設定が原因で動かないとしたら、外部JSファイルの転送をサーバが拒否してる場合には考えられますが‥。たとえば特定の拡張子の転送を許さない設定にはできます。その場合JSファイルにhttpで直アクセスした場合に403や500などのエラーがでますので、これが出ている場合は外部に切り出したJavascriptは動かない場合もあります。ただjsファイルを拒否するようなおかしな設定のサーバはないと思いますので、たぶんパスが違ってるのではないかと思うのですが、一度自社サーバでテストしてるんですよね‥。おかしいですね‥ Javascriptを外部に切り出しているということでしたら、#1さんもおっしゃられてますように、Javascriptへのパスを確認されると良いと思います。 動かないページのHTMLソースを表示させて、 <script src="パス"></script> となっている部分を探してパスを直接httpでたたいて見ると良いと思います。もしかしたら、きちんとJavascriptのソースが表示されないのではないでしょうか。 あとは#2さんもおっしゃられますようにブラウザ側の設定も確認してください。あとJavascriptの実行時エラーはInternetExplorerの設定によってはエラーの発生している行や、エラーの内容が確認できます。ブラウザは同じものを利用しているのですか?自社のサーバはイントラネットゾーンではありませんでした? サーバのアドレス区分によってはIEのセキュリティー設定が自動的に切り替わりますよ
その他の回答 (12)
- 123isao
- ベストアンサー率54% (186/341)
>ところで、FTPソフトが違うとファイルになにか問題があるのでしょうか。 >うちの会社ではFetchでのアップをおこなっていますが、お客様のところでは >ホームページビルダーでアップされているのですが。 FTPソフトによって性能に多少違いがあります。 日本語のファイル名対応や漢字コード・改行コード自動変換などです。 今回の場合は転送ソフトが違うので関係しているかもしれません。
お礼
ありがとうございました。 もう少し調べてみることにします。
- 123isao
- ベストアンサー率54% (186/341)
サーバが原因なのかファイルが原因なのか確認するために あなたのサーバと客先サーバ以外の 別のレンタルサーバなどにアップしてみてはどうでしょうか? レンタルサーバ上で動けばあなたのサーバ上でも動いていることから 客先のサーバが原因の可能性が高いです。 DreamWeaverでの転送をやめて別のFTPソフト(FFFTP)で 転送してみたり、相手サーバの設定(Apachや.htaccess)での制限 を確認してみるといいです。 レンタルサーバ上で動かなければファイルのコーディングミス(環境依存?)が原因の 可能性が高いです。
補足
別のサーバーが職場にはないため、自宅に帰ってから一度試してみようと思います。 ところで、FTPソフトが違うとファイルになにか問題があるのでしょうか。 うちの会社ではFetchでのアップをおこなっていますが、お客様のところでは ホームページビルダーでアップされているのですが。
- inao999
- ベストアンサー率22% (12/54)
No.9の書込みはなかったことに。 jsファイルは表示されませんでした。 結局のところソースやテスト環境を知らないのでこういう可能性があるとしか答えられませんが。 会社の先輩に相談するのが一番いいかもですね。 それでは。
- modamepo
- ベストアンサー率100% (1/1)
そうですね‥。そうかもしれません。どちらにしても今日解決策を見つけるのは厳しいかもしれませんね。もしかしたら詳しい他の方に見てもらう必要があるかもしれません。 でも私はまだ外部サーバからの呼び出しを禁止してる云々に関しても可能性がないとはみていないですよ。質問者様が禁止する設定をしてないからといってサーバーの大本の設定をしたわけではないでしょうから‥ もし客先のサーバからブラウザに転送されたHTMLから、自社サーバのJSファイルを呼び出しているのであれば、転送が拒否されることは十分考えられますので‥。(Referrerが客先のアドレスに設定され、自社サーバでは外部からのアクセスと判断拒否等)=条件付転送拒否 返信をいただけないようですのでそろそろ去りますが、がんばってくださいね。あと私のレス細かく沢山ついてますが、もしお礼もらう時はまとめて一個でいいです。ではでは
お礼
お礼が遅くなりましてすみません。 いろいろと策を考えてくださいましてありがとうございます。 わたしも、サーバーになんらかの制限をかけておられるのだと思っています。 お客様に確認すれば済むことかもしれませんが、いまはお客様との関係上はっきりとした事実やデータがない限りご連絡できないと思っています。 もう少し調べてみようと思っています。 本当にありがとうございました!
- inao999
- ベストアンサー率22% (12/54)
>MM_swapImage is not defined MM_swapImage関数が定義されていないってことなのでやっぱり外部ファイルが読み込めてないのかな。 さっきのツールが入ったfirefoxで 右クリック→ページの情報を表示→リンク 表示しているページのリンク一覧が表示されるので外部ファイルが記載されているか確認してみてください。
補足
お返事が遅くなりましてすみません。 外部ファイルのリンクを確認してみましたが、表示がありませんでした。 やはり読み込みできていないようです。。
- inao999
- ベストアンサー率22% (12/54)
たとえば元々のソースが下のようになってて <script type="text/javascript"><!-- generateBeacon('okweb', '254'); // --> </script> サーバにあるファイルのソースが下の改行が抜けた状態になってたらうまく機能しなかった記憶があります。 でも外部ファイルなら関係ないかな。 <script type="text/javascript"><!--generateBeacon('okweb', '254');// --></script> No.7さんが書いてるように文字コードや改行コードなどが問題あるのかも。FTPクライアントが意図しない動作をしてるとか。
- modamepo
- ベストアンサー率100% (1/1)
たびたびすみません。改行に関してはCR LF形式の改行のみしか改行コードを認識しないエディターやブラウザではLFのみで改行がされていた場合には、一列に表示されてしまうことは良くあることです。 恐らく動作上の問題はないと思いますが 気になるのであれば、エディタを使って改行を直すなどしてみるとよいかもしれませんね。もしかしたらFTPで転送する際に自動的に改行コードを変えてくれるクライアントソフトもあるかもしれませんし、転送の際に書き換わってしまったのでしょうか。 私にはテスト環境もありませんので、確認はできませんが、可能性が0というわけではありませんので、時間があるなら確認した方がよいかもしれません。
- modamepo
- ベストアンサー率100% (1/1)
先ほど直にたたいて見た時のアドレスは客先のアドレスになっているのですか?自社サーバのアドレスにはなっていませんでした? MM_swapImage is not definedというエラーから推測するもやはりJSファイルが読み込まれていない可能性も捨てきれないと思います。
- modamepo
- ベストアンサー率100% (1/1)
可能性はあまり高くありませんが、もしかしたらJSファイルが自社サーバのアドレスになってるのかもしれないですね。それで自社サーバの設定がJSファイルの外部サーバーからの呼び出しを禁止しているのかもしれません。客先のローカルからの呼び出しは外部呼出しにあたらないのでこの制限にひっかからない‥みたいな感じでしょうか。単なる推測に過ぎないですが‥。
補足
リンクさせている外部JSファイルは、今回わたしが作成したフォルダの中に入っているんです。 呼び出し禁止など特になんの設定もしていないのです。
- inao999
- ベストアンサー率22% (12/54)
私の場合はfirefoxに下記のツールを入れてデバッグしてます。 http://www.infoaxia.com/tools/webdeveloper/ とりあえずサーバが原因というのはほとんど考えられないのですが・・・。 サーバが気になるなら他のサーバに同じものをアップロードして動作確認してみてください。 おそらくちょっとしたミスだと思います。
補足
No.3の方への補足にも書きましたが、JavaScriptコンソールのエラー表示のことでしょうか。 エラーが出ていて、ファイルに不備があるのでしょうか。。
- 1
- 2
補足
ありがとうございます。 JSファイルにhttpで直アクセスしましたが403や500などのエラーはでませんでした。また、ソース内のリンク先パスで直接jsファイルを表示させる事もできました。 ブラウザは、お客様のところと同じwinのIEをチェックしています。その他にもwinのFirefox、macのFirefox、Safariで確認をしています。 FirefoxにJavaScriptコンソールのエラー表示というものがありました。 MM_swapImage is not defined http://(お客様のサーバー) これはリンク先のパスがないということでしょうか。 私自身でソースを確認しましたが、パスは正確だったのですが。 あと、全く関係ないかもしれませんが不思議な事があるんです。 ブラウザでソースを表示させるのですが、ソースに改行がありません。 つまり、普通はオーサリングソフト等で作成した際に改行がされ、そのファイルをサーバー上で見ても同じ個所で改行はなされていますよね。 でも、今回ロールオーバーの効いていないファイルのサーバー上のファイルのソースを見ると、改行されておらず、右にずーっとしかも一行で表示されるのです。 これは、サーバー上のファイルのみで、ローカルファイルではきちんと改行がされて表示するんです。関係ないとは思うのですが、おかしいなと思う事も書き込んでみました。