Safari,NetScapeでjsファイルを読み込まない

[新着] Webテンプレートを仮オープンしました



0   名前: はまみーしんちゃん : 2007/06/29(金) 15:27  ID:LYfA41cU sub-Np
JavaScript初心者の者です。
Safari,NetScapeでは<script language="JavaScript" src="XXX.js"></script>
でjsファイルを読み込むことはできないのでしょうか?
XXX.js⇒test()を書き込み
test.html⇒test()を呼び出し
IEでは反応するのですが、Safari、NetScapeでは反応しません。
宜しくお願いします。


Safari,NetScapeでJavaScriptのファイルを動的ロードできない

1   名前: 匿名 : 2007/06/29(金) 15:27  ID:epW2eUw6 sub-8t
やはり、どんな風に書いたのかを示してもらわないと、答えるのは難しいですね。
こんな風に適当に書いても動きます。
document.write('<script type="text/javascript">function test() {alert("")}</script>');

2   名前: 匿名 : 2007/06/29(金) 15:27  ID:emsdcYZO sub-Cz
できます。


# 本題とは無関係ですが、何で未だに language 属性なんて使う人が後を絶たないのでしょう。
# HTML をチェックしたことはないのでしょうか。

3   名前: 匿名 : 2007/06/29(金) 15:27  ID:LYfA41cU sub-Np
ありがとうございます。scriptタグをtype="text/javascript"にすることで対応でできました。
ただ補足で質問させてください。
<script language="JavaScript" type="text/javascript" src="XXX.js"></script>
としても問題ないのでしょうか?
都合上、language="JavaScript"を消せないもので・・・
(追加ならOKなんです トホホ)

4   名前: 匿名 : 2007/06/29(金) 15:27  ID:LYfA41cU sub-Np
ソースを追記させていただきます。
【HTML】
<!DOCTYPE HTML PUBLIC "-//W3C//Dtd HTML 4.01 Transitional//EN">
<html>
<head>
<script language="JavaScript" src="XXX.js"></script>
<script language="JavaScript">
</script>
</head>

<input type="button" value=" テスト " onclick="javascript:test()">

</html>

【jp】
function test() {
 処理;
}
のような形で書いています。
<script language="JavaScript" src="XXX.js"></script>
⇒<script type="text/javascript" src="XXX.js"></script>
に変更しましたがNetscapeではOKでしたが、Safariでは起動しませんでした。

宜しくお願いします。

5   名前: 匿名 : 2007/06/29(金) 15:27  ID:rRa9.kRR sub-2m
>>3
Transitional DTD なら許容範囲。いずれにせよ type 属性は(HTML ルール上も)必須です。

なお、Firefox、Opera、Safari は正式な application/javascript に対応していますので、廃止済の text/javascript を使うのは IE だけにして下さい。

>>4
ご質問は動的ロードについてだと思っていましたが、静的ロードもうまくいかないということでしょうか?そんなはずはないのですが。

動的ロードに関しても Safari 2.0.1/1.3.1 以降は可能なはずです。

それはそうと、onclick 属性内をラベル文にする必要はありません。

一覧へ戻る