JavaScriptエラーの”location is read-only”てなに?

[上に] [前に] [次に]
Yamamoto [E-Mail] 1998/11/13(金) 10:36:07
業務アプリーケーションをJavaScriptで書きNS4.04で動かしているのですが、
location=xxxxx
としたときに、”location is read-only”というJavaScriptエラーが発生しました。
エラーが出たのはこの時一回だけで、何回テストをしても再現しません。
いったいこのエラーはどういう意味なのでしょうか?
ちなみにxxxxxにはText FleldからとってきたURLを直接いれています。

うーりえ [E-Mail] 1998/11/16(月) 04:00:53
自信ある答えではないですが、
locationはもともとあるオブジェクトなので
location=xxxxxではlocationの中にxxxxxという値(文字列)を
代入しようとしていると判断するのではないでしようか。

「locationは今ある値を読むだけで中に書き込むことはできないよ」
という意味のメッセージかと思います。

例えば、指定のxxxxxというURLにとばすのであれば
location.href = "xxxxx"が正しいはずです。

見当違いでしたらごめんなさい。

yamamoto 1998/11/16(月) 13:38:54
うーりえさん、ありがとうございます。
たしかに公式のJavaScriptのガイドブックをみると
  location.href="xxxxx"
となっています。
ただ問題はここだけでなく、すべてのところで
  location="xxxxx"
と書いていることです。直すの大変そう・・・。それでなぜこの時だけエラーがでたのでしょう?

匿名希望 1998/11/21(土) 02:56:28
い、いや、エラーが出ないほうがおかしいと思います。
私が持っているのはNS4.05ですが、明らかにエラーが
出てしまいますが・・・

うーりえ [E-Mail] 1998/11/22(日) 06:43:47
良かった、論旨が合ってたようですね。

何か、文章編集するためのエディタで書いているのであれば
置換処理で「location=」を「location.href=」に
してしまえばいいかと思います。

Windowsの場合、文章を扱うソフトならメニューバーの「編集(E)」に
たいがいは「置換」というのがあるはずです。
さらに、マクロ機能があるエディタならば
その置換処理じたいも自動化できるかもしれません。

JavaScriptはNNやIEなどのブラウザ、またはバージョンによって
エラーの出具合がまちまち(無視する・エラー出す・ハングなど)ですから
たとえ御自分の環境で偶然動いたとしても
なるべく推奨される正規表現をした方がいいでしょう。

ガンバって下さい。

yamamoto 1998/11/24(火) 19:20:46
[[解決]]
うーりえさん、匿名希望さんありがとうございました。
今後の事も考えてしゅうせいすることになりました。

[上に] [前に] [次に]