サーバ変更時にJavaScriptに影響はあるのか?

このQ&Aのポイント
  • テストサーバーから本サーバーに移すとJavaScriptの動きがおかしくなることがあるのか?
  • 影響を受ける可能性のある要因は、JSファイルの圧縮、HTMLの吐き出し速度、文字コードなど。
  • WordPressを使用している場合、PHPも影響する可能性がある。検証の方法についても知りたい。
回答を見る
  • ベストアンサー

JSの話じゃないかもなんですがサーバが違うとJSが

Javascriptの話じゃないかもしれないんですが、サーバーを変えるとJavascriptに影響するときってありますか? テストサーバーから本サーバーに移すとJavascriptの動きが一部おかしくなったりしたので、そういうことってあるのかな、と思っての質問です。 自分で思いつくのは ●JSファイル自体がgzipとかされてていて圧縮されている、いない ●htmlの吐き出しが遅い早いなどの違い ●文字コード?? とかでしょうか、、、、 今回はWordpressを使っています。PHPが影響するんでしょうか? そんな場合はどんな検証をされますか? いろいろ質問を書いてしまいましたが大本は、 サーバーが違うとJavascriptに影響がでることがあるかないか、 の質問です。 よろしくお願いいたします。

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

  • ベストアンサー
  • Ogre7077
  • ベストアンサー率65% (170/258)
回答No.5

クライアントで実行される JavaScript にサーバー依存の問題はないので、 思いつく原因としてはスクリプト以外の要因でしょうか 1. 通信先の設定がテストサーバー直指定なので、AJAXが失敗 2. HTTPサーバーの設定により、Content-Type が環境によって異なり、AJAXが失敗 3. HTTPサーバーの設定により、charset が環境によって異なり、文字化けで失敗 4. スクリプトを動的に生成(JSPやPHP)していた場合、環境依存のバグでスクリプト生成に失敗 検証方法は難しいですね... ブラウザの開発用ツールで地道にデバッグするしかないでしょう AJAX あたりの通信内容、特にヘッダ部なども監視しましょう

mogumogue
質問者

お礼

>AJAX あたりの通信内容、特にヘッダ部なども監視しましょう [特にヘッダ部]の監視ですか、、わかりやすいご提示ありがとうございます。 Ajaxは今回は多少使っている程度なので影響は少ないと思われますが、多分にそういうサーバーの機能というところよりはjavascriptの取得周りにも大きな原因はありそうだなと考えさせられました。 検証方法さえ確立してしまえばこちらもそれほど迷いがないのですが、そこは経験ですから時間がかかってしまうのはしかたないと思っております。 ありがとうございます!!

その他の回答 (3)

  • Picosoft
  • ベストアンサー率70% (274/391)
回答No.4

場所を移したことでパスが変わり、一部のjsファイルの取得に失敗しているのかもしれません。 開発者ツール(IE)やWebコンソール(Firefox)等を使って、 すべてのjsファイルがちゃんと取得できているかを確かめてみてください。

mogumogue
質問者

お礼

>場所を移したことでパスが変わり、一部のjsファイルの取得に失敗 確かに、、なんですが、Chromeの開発者ツールで見ても特に差異はないんですよね、、、。 見落としがありそうです、確認してみます。 ありがとうございます!

回答No.3

詳しい環境、コードを拝見しないとなんともいえませんが、有り得る話です。

mogumogue
質問者

お礼

ありえる、との見解ありがとうございました。 確かにコードを出して検証していただくというのが一番だと承知しておりますが、複雑すぎてどこを出せばいいのか、というところでもあります。本番環境がなんだかよくわからないサーバーなので、一般的な問題なのか、非一般的なのかをとりあえず知りたかったというところでもありました。 サーバーの違いで影響を受ける、というのはphpとかdbとかのバージョン・設定が開示されないとかでしょっちゅうなので、その理解は簡単なのですが、jsはどちらかというとクライアントサイド(要はブラウザ)で影響が変わるという認識だったので、おかしいなあ、と長く考えていました。 もし影響があるとすれば一般的な影響は、どんなものがあるのかのお言葉がいただければ、より幸いと思っての質問でしたので、ちょっと漠然としてしまったのはすみません。 実際、客先のサーバー上でテストや検証を行う、というのが出来ない状態なので今回掘り起こすのは難しいと思っています。でもchromの開発ツールとか使ってリソース関係を洗ってみようかと思えたのはよかったです。 重ねて御礼いたします。

回答No.2

状況によってはありえますね 実際のコード見ない限りはどこが原因かは断定できませんが・・・

mogumogue
質問者

お礼

ありえる、との見解ありがとうございました。 確かにコードを出して検証していただくというのが一番だと承知しておりますが、複雑すぎてどこを出せばいいのか、というところでもあります。本番環境がなんだかよくわからないサーバーなので、一般的な問題なのか、非一般的なのかをとりあえず知りたかったというところでもありました。 サーバーの違いで影響を受ける、というのはphpとかdbとかのバージョン・設定が開示されないとかでしょっちゅうなので、その理解は簡単なのですが、jsはどちらかというとクライアントサイド(要はブラウザ)で影響が変わるという認識だったので、おかしいなあ、と長く考えていました。 もし影響があるとすれば一般的な影響は、どんなものがあるのかのお言葉がいただければ、より幸いと思っての質問でしたので、ちょっと漠然としてしまったのはすみません。 実際、客先のサーバー上でテストや検証を行う、というのが出来ない状態なので今回掘り起こすのは難しいと思っています。でもchromの開発ツールとか使ってリソース関係を洗ってみようかと思えたのはよかったです。 重ねて御礼いたします。

関連するQ&A

  • 外部 js ファイルの動的読み込み

    通常、HTML で外部の Javascript ファイルを読み込む必要がある場合、 <script type="text/javascript" src="****.js"></script> としますが、これを Javascript のコード内で行いたい場合、何か方法はあるでしょうか? いわゆる、Perl での use や php での require のようなことを Javascript で実現したい - 動的に js ファイルを読み込みたいのです。 以上、お分かりになる方、よろしくお願いします。

  • Node.jsでajaxがうまくいかない

    nodejs初心者なのでよくわからずやっていて恐縮ですが、うまくいきません。 https://phpotameshi-hoto345.c9users.io/node-ajax/hello_ajax.html なのですがもともとはphpで送信ボタンを押したときにphpが実行されるものでしたが、これを少し改良してNode.jsでやってみようと思ったのですが、phpと違って <script src="scripts/hello.js"></script> のようにnodejsを読み込んでやれば同じ結果になると思ったのですがうまくいきません。 その前にローカルでもNode.jsは使えるようなので >node test.js Server running at http://localhost:8124/ のようにしてローカルでやってもhttp://localhost:8124/自体は問題なく立ち上がりtest.jsの中身は実行されたのですが、ajaxの方がうまくいきません。 ローカルでのNode.jsもServer running at http://localhost:8124/ となっていればNode.jsのサーバは起動しているので、 ローカルでhello_ajax.htmlを起動して、buttonを押せばajaxもnodejsも実行されるのではないでしょうか?

  • prototype.jsがIE7でパースされない

    JavaScriptでサーバと通信し、戻ってきたデータをDOM操作でブラウザに書き出す仕組みを作っています。サーバ側はPHPスクリプトです。 ブラウザ間の違いを吸収するためにPrototype.js (1.6.0.3)を利用してJavaScriptを書きました。開発環境(Ubuntu)のFireFoxとOperaでは思い通りの動作をしていたので、Windowsではどうかしらと思い、テストしてみました。FireFoxとOperaは大丈夫でしたが、Interner Explorer7ではまったく駄目でした。window.onloadに関連付けたalert()ですら実行されません。 JSファイルはprototype.jsの次に、以下の5つのファイルを順番に読み込ませています。 slider.js controller.js viewer.js modeller.js config.js デバッグしてみようと思い、InternetExplorer7用のアドオン(DebugBar v5.2)とMicrosoft Script Debuggerをインストール。画面を見ていたところ、prototype.jsより後に読み込ませた外部JSファイルがすべてパースされていないようです。 ためしにprototype.jsを呼び出すmeta要素を削除してみたところ、次に読み込んでいるslider.jsがパースされ、「Classが設定されてないよー」というアラートが予想通り出て、以降のJSファイルのパースがストップしているようです。 prototype.jsに不具合があるのかなと思い、テキストエディタで文字エンコーディングをUTF-8(システムはすべてこれで作ってます)に変更。改行コードもWindows/Linux互換のCR+LFに変更してみても、やはり駄目でした。 思うに、Internet Explorer7は不具合のあるJSスクリプトがあった場合、そこでエラーを発生して以降のスクリプトのパースを中断してしまうという作りになっていて、今回はprototype.jsが(何故か)不具合を起こしていて、以降のスクリプトがパースされていないという事なのでしょうか? PHPやApacheはよくいじるのですが、ブラウザやJavaScriptに関しては素人です。見当違いの質問をしているかもしれませんが、どうかよろしくお願いします。

  • Javascriptで解凍のコマンドはありますか?

    phpでgzcompress() http://phpspot.net/php/man/php/function.gzcompress.html を使って文字列を圧縮したものをJavascriptで展開しようと思っています。 Javascriptで展開できるコマンドがありましたら教えてください。 また、gzip圧縮したものを解凍するコマンドでもいいです。 私は圧縮解凍の細かいことはあまりわかりません。 宜しくお願いします。

  • IE8で外部jsファイルが読み込めない

    htmlでjavascriptを使用しようとhtmlファイルとjsファイルを同階層に置き、下記のように外部jsファイルを読み込んでいます。 <script type="text/javascript" src="./com.js"></script> しかし、IE8でそのhtmlを開くと 「メッセージ: 文字が正しくありません。ライン: 1文字: 1コード: 0 URI: file:///C:/Users/PCUser/Desktop/test/common/js/com.js」 というエラーが発生してjavascriptが読み込めません。 秀丸でsrc="./com.js"をクリックするとソースが表示されるのでパスは間違えていないと思います。 また、簡単なボタン押下時にalertを表示するscriptを作成して確認したところ、FIRE FOXでは正常に動きましたが、IE8ではやはり動きませんでした。 文字コードはhtml、javascript共にshift-jisです。 他にjavascriptを読み込めない原因は何かありますでしょうか? よろしくお願いいたします。

  • html CSSにおけるno-jsとは何ですか?

    wordpressを用いてサイト作成の勉強をしています。 ヘッダー部分に以下のようなコードがありました。 <html <?php language_attributes(); ?> class="no-js"> <?php language_attributes(); ?> は <html lang="ja">と同じ意味と分かりましたが、 class="no-js" はどういう意味なのでしょうか? 検索すると、IEのバージョンによって仕様を場合分けしたい時に <!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="ja"><![endif]--> のように使うみたいですが、class="no-js" は絶対に書かないといけないのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • scrollsmoothly.jsが動かない

    質問させていただきます。 下記のscrollsmoothly.jsを設定したいのですが、どうしても うまく動作しません。 http://d.hatena.ne.jp/KAZUMiX/20080418/scrollsmoothly ソースコードをDLして jsフォルダに入れました。 そして <head>~</head> の間に <script type="text/javascript" src="js/scrollsmoothly.js"></script> と記述しました。 そして <body> <div id="head"> ~ <a href="#head">topへ戻る</a> </body> と記述しました。 何か間違っていますでしょうか? よろしくお願いします。

  • 問い合わせフォームをJSで制作したい。

    小規模サイトを作る際に問い合わせフォームの要望がほとんど有ると思いますが、サーバサイトのJSで作る場合、商用可のプラグインやソースコードで対応するのでしょうか? それともexpressやmeteorなどのフレームワークがあれば簡単に導入できるのでしょうか? PHPは下記のようなものがあるようですが、JSはまだほとんどないのでしょうか? http://www.moongift.jp/2012/03/20120317/

  • md5.jsとbase64.jsがスクリプトのJavaScriptのパ

    md5.jsとbase64.jsがスクリプトのJavaScriptのパスワード設定について、教えて下さい。 JavaScriptを扱っているサイトで、以下のを使用しているのですが、そのサイトであまり詳しい説明が書かれてないので四苦八苦しています。 契約しているサーバーのセキュリティー上、CGIとPHPが使えないので、JavaScriptを使用したいと思っています。 インデックスページに設置して、パスワードが通ったらトップページに移動するようにさせたいと思っています。 以下ので、どこが不備なのか分からないので、教えて下さい。 JavaScriptに関しては初心者なのですが、初心者で以下のは難易度が高いのでしょうか? また、md5.jsとbase64.jsそのものの設定が問題なのでしょうか? 本当に困っていますので、是非とも教えて下さい。 お願いします。 <html> <Head> <script language="JavaScript" src="md5.js"></script> <script language="JavaScript" src="base64.js"></script> <script language="JavaScript"><!-- var pwmd5 = ""; function passchk() { var pw; pw = document.f.passwd.value; pw = base64encode(pw); pw = MD5_hexhash(pw); if(pw ==pwmd5 ) else alert("パスワードが違います"); } // --> </script> <body> <form name="f"> <input type=text name="passwd"><input type=button value="入室" onClick="passchk()"></form></body> </Head> </html>

  • Backbone.jsでは、jQuery使えない?

    Backbone.jsについて教えてください。 ■質問1 ・Backbone.jsを導入すると、jQueryは使えなくなるのでしょうか? ・例えば、それまでサイトで使っていたjQueryプラグインは、動かなくなるのでしょうか? ・「jQueryコードをBackboneで置き換えてみよう」と書いてあるのですが、置き換えないと動かないという意味? それとも試してみよう的な意味? http://mobiletou.ch/2013/09/001-backbone ■質問2 ・MVCのPHPサイトに、Backbone.jsは導入できるでしょうか? ・MVC×MVCで変になる?

専門家に質問してみよう