- ベストアンサー
外部スクリプトが、表示されたりされなかったり (長文)
順を追って詳しく説明します。 メモ帳から外部スクリプトを作りました。 ファイル名 oshiete.js ファイルの種類 すべてのファイル 文字コード ANSI で保存、これをYAHOOのサーバー(有料)にアップして、HPに <Script language="javascript" src="http://www.geocities.jp/・・・・/oshiete.js"></script> で呼び出しました。 これで何の問題もなくちゃんと表示されています。スクリプト自体に問題はないと思います。ところが、 ・このタグをそのままFC2のHPに挿入しても、全く表示されません。 ・他にも掲示板Aで試したところ、やはり表示されません。 ・ですが、掲示板B(掲示板Aとは別会社)ではちゃんと表示されます。 (掲示板は双方とも、YAHOOとは無関係の単独の会社です) ・PC上で表示させると、今度は文字化けしてしまいます。 YAHOOは有料契約なので、呼び出しはできるはずです。 掲示板BはYAHOOとは無関係ですが、表示されています。 質問 1.FC2のHPや掲示板Aで表示させるにはどうすればよろしいでしょうか? 2.これはすごく基本的なことですが、「ファイルを名を付けて保存する」段階で、いつも「ANSI」で保存しています。 文字コードはいくつか種類があるのはわかってますが、何の時にどれを使うという明確な使い分けがわかりません。 よろしくご教授お願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
どうも腑に落ちないので、ローカル・サーバー間で検証してみました。 ・文字コードが同じ→正常(当然ですね) ・文字コードが違う→IEは正常、FireFox文字化け ・charsetを入れた→FireFoxも正常 <script type="text/javascript" src="http://・・・/sample.js" charset="Shift_JIS"> ブラウザによって動作結果が異なるのも気持ち悪いでしょうから、 scriptファイルをShft_JIS、EUC-JP、UTF-8の3種類くらい用意しておいて、貼り付け先に応じて、変えてやるのが良い方法だと思います。 参考にして下さい。 sample.jsのソース(1行のみ) document.write("あ");
その他の回答 (2)
メモ帳でANSIとして保存したのであれば、文字コードは、 Shift_JISですね。表示出来た掲示板Bは、Shift_JISで書かれていて、 FC2と掲示板Aは、EUC-JP等の他の文字コードで書かれているのではないでしょうか。PC上で文字化けするのは、文字コードの判定が正確に出来てない感じですね。ブラウザのメニューから文字コードを選択して、 Shift_JISに変えてみて下さい。通常は、htmlの<HEAD>直後くらいに <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> と書いておけば、ブラウザが自動判別してくれますが、書いてますか?
お礼
補足ですが、YAHOOのHPには <META HTTP-EQUIV="content-type" CONTENT="text/html; charset=euc-jp"> が入っています。 PC上のページにも同じものが入っています。 一方FC2のほうには <meta http-equiv=Content-Type content="text/html; charset=Shift_JIS">
改行コード FTPのテキストに対する処理がどうなっているか確認する。 無変換ならサーバに適応した改行コードにすべき。 殆どがLF。windowsは大抵CRFL。
お礼
後々いろいろスクリプトを作り配布しようとも思っていたのですが、ブログパーツを作るのって簡単ではなさそうですね。 「貼り付け先に応じて変える」 この部分を参考にこれから勉強していきたいと思います。ありがとうございました。