実に不思議なのですが、
以下のように4つのJSファイルをインクルードしているHTMLファイルを
ローカルで開くと「文字が正しくありません」とスクリプトエラーが何回かでます。
ですが、script1~4.js の行を全てコメントアウトすると、エラーはでません。
1~4のどれかにエラーが含まれているのかと、一つ一つを外してみましたが、
どの行を外しても、やはり「文字が正しくありません」と出てしまいます。
ローカルの然るべきパスに1~4はあります。また、HTML同様、JSもEUCになってます。
何が原因なのでしょうか?
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<title>タイトル</title>
<meta http-equiv="content-type" content="text/html; charset=euc-jp">
<meta http-equiv="content-script-type" content="text/javascript">
<meta http-equiv="content-style-type" content="text/css">
<link href="../css/style.css" rel="stylesheet">
<script src="../js/script1.js" type="text/javascript"></script>
<script src="../js/script2.js" type="text/javascript"></script>
<script src="../js/script3.js" type="text/javascript"></script>
<script src="../js/script4.js" type="text/javascript"></script>
</head>
No.1
- 回答日時:
的外れだったらごめんなさい。
.jsファイルのパスに漢字は混ざってませんか?
スペースの入ったフォルダ名は混ざってませんか?
それが悪さをしているかも。
確認してみてください。
御礼/報告遅くなってすみません。
どうもご教示のことがビンゴくさいのですが、
いまいち判然としません。
(1) スクリプトエラーになる
C:\Documents and Settings\user_name\デスクトップ\index.htm とおき、
C:\Documents and Settings\user_name\デスクトップ\js\ に、script1~4.js をおく。
(2) スクリプトエラーにならない
C:\Documents and Settings\user_name\デスクトップ\NewFolder\index.htm とおき、
C:\Documents and Settings\user_name\デスクトップ\NewFolder\js\ に、script1~4.js をおく。
(3) スクリプトエラーにならない
C:\index.htm とおき、
C:\js\ に、script1~4.js をおく。
No.2
- 回答日時:
ソースを見るかぎり、htmlファイルはeuc-jpで記述されているようですが、jsファイルの文字コードはどうなっていますか?
eucのページからshift_jisのjsファイルを呼び出すと、IEではスクリプトエラーになります。
回避方法は、<script>タグ内に carset="shift_jis"と入れます。
御礼遅くなってすみません。
レスありがとうございます。
質問にも書きましたが、JSもHTMLも、EUC-JPに統一されています。
以前もハマったことがありまして(コメント部分が文字化けして悪さしていた)。
回避方法(carset="shift_jis)の方は知りませんでした。
大変参考になりました。
原因については、#1さんのものが怪しいですが、はっきりしません。
No.3
- 回答日時:
script1.jsの中身を補足で挙げていただくわけにはいかないですか
BLUEPIXYさん、いつもご教示ありがとうございます。
御礼遅くなってすみません。
#1さんにお返事したように、問題を切り分けていくと
JSファイルの中身には依存していないような印象を持っています。
JSファイルを公開するのはまったく問題ないですが。。。
No.4
- 回答日時:
情報が少ないので調べ方を。
まず
><script src="../js/script1.js" type="text/javascript"></script>
この記述先に本当にファイルがあるのか?
<a href="../js/script1.js">script1</a>として
ダイアログボックスなりそのファイルが表示されるなり
それなりに動作するでしょうか?
(確認環境により動作は異なるので、「ページを表示できません。」とならなければ存在は確認できます。
ついでにダウンロードなりなんなりすれば、目的のファイルであるかどうかも確認できます。)
で、ここで然るべき処にあるつもりなのにないとなる可能性は、
a.基準となる場所が違う。
a1.通常はその閲覧しているHTMLファイルのある場所である。
a2.<base href=~> を指定した場合は、その指定した内容が基準となる。
b.示したい場所と指定が違う。
b1."../js/script1.js" は相対アドレスで基準となるフォルダ(場所)の1つ上に js というフォルダ(場所)がある。という指定ですが・・・。
HTMLファイルがあるその場所に js ファルダがあるなら ..ふたつでなく .ひとつ。
c.フォルダ名,ファイル名が違う。
c1.全角半角が違ったり、小文字のi(アイ)が抜けてたり(小さいので見落としやすい)、小文字のl(エル)と数字の1(イチ)を間違えたりなど・・・。
ファイル名の違いの検査はHTMLファイルと同じ場所にコピーするなり持ってきて、
<a href="./script1.js">script1</a>として検証。
これでOKでフォルダ付きでNGならフォルダ名に疑いが・・・。
リンクで問題なかった場合はファイル内の記述ですが、
漢字などがコメントを含めて使われていないかがまず
疑いのポイントになりますが、
(文字化けなどで、コメントがコメントとして扱われていないとかコメントの終わりが終わりとして見られず必要以上にコメント化されているとか)
ただ、この場合は「文字が正しくありません」でなく他のスクリプトエラーと思われ・・・。
あとそれ以上は、再現するJSファイルの内容を提示して頂けないと・・・。
(再現さえすれば、まったくの別物でも良いかと。)
koutarou504さん、詳細なレスありがとうございます。
また、御礼遅くなってすみません。
>情報が少ないので調べ方を。
#1さんにお返事したように、問題を切り分けていくと
JSファイルの中身には依存していないような印象を持っています。
その他、ファイルの有無など、ディレクトリ構成には問題ありませんでした。
No.5ベストアンサー
- 回答日時:
#4 の者ですが、あの~本当にディレクトリ構成には問題なかったのですか???
>(1) スクリプトエラーになる
>C:\Documents and Settings\user_name\デスクトップ\index.htm とおき、
>C:\Documents and Settings\user_name\デスクトップ\js\ に、script1~4.js をおく。
この構成の場合、
<script src="./js/script1.js" type="text/javascript"></script>
と、”./~” 同じディレクトリという指定でピリオドは2つでなく1つです。
ピリオドが2つという事は1つ上の階層という事で、
C:\Documents and Settings\user_name\js\ に、script1~4.js をおく必要があります。
#4 で示した b1 の件でひっかかっています。
尚、
>(2) スクリプトエラーにならない
>C:\Documents and Settings\user_name\デスクトップ\NewFolder\index.htm とおき、
>C:\Documents and Settings\user_name\デスクトップ\NewFolder\js\ に、script1~4.js をおく。
は、HTMLで
C:\Documents and Settings\user_name\デスクトップ\js\ に、script1~4.js をおく事を要求していて、
(1) の検証環境が残っているとそれを見に行っていますが。
逆に(1) の検証環境がなければこれもエラーです。
(3) はたぶん上位の階層がないのでブラウザが補正して同じ階層のフォルダを見に行っているのでしょう。
すみません、御礼遅くなりました。
あれから手付かずでいたのですが、
今日試したらなぜかでなくなりました。
ご教示のような、ディレクトリ構成の問題
だったのかもしれません。
ともかく、いろいろご示唆いただいた点は
今後のトラブルシューティングでも参考にさせていただきます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別ファイルのfunctionの読み込み方
-
複数のJavascriptを1つのscrip...
-
外部ファイル名を変数で指定で...
-
Javascriptでのツリーメニュー...
-
javascript内で外部ファイルを...
-
JavaScriptのエラー ( 関数の...
-
ホームディレクトリを示すチル...
-
javascriptファイルは1つに統...
-
サイトのソースに書いてあるjs...
-
サムネイルをクリックすると周...
-
ScriptがTABLEタグの中に表示さ...
-
外部.jsの内容を一部置き換えて...
-
$.ajaxのscriptCharsetについて
-
よくJAVAスクリプトを別ファイ...
-
JavascriptとJqueryを混在し記述
-
<a href="#" …>の意味を教えて...
-
bodyにidをつける理由は何ですか?
-
(Javascript)印刷するファイル...
-
base64encodeでの文字化けについて
-
入力したテキストボックスのデ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別ファイルのfunctionの読み込み方
-
cssにjavascriptを入れる?呼び...
-
javascriptファイルは1つに統...
-
複数のJavascriptを1つのscrip...
-
Dreamweaver で 外部JSを読み込...
-
javascriptとApacheの設定
-
JavaScriptのエラー ( 関数の...
-
JavascriptとJqueryを混在し記述
-
ひとつの外部ファイルに複数の...
-
プルダウンメニューを別ファイ...
-
【Google Apps Script】「ライ...
-
外部ファイルを読み込ませるた...
-
JavaScriptで他のファイルのhtm...
-
ホームディレクトリを示すチル...
-
javascriptのalertで文字化けが...
-
外部読み込みで動かないときの...
-
条件分岐で、読み込む外部スク...
-
呼出したjsファイル内で他jsフ...
-
メールフォーム、受信メールの...
-
<script src="">読み込まない
おすすめ情報