フレームがwindow.onLoadで表示されてくれません。

[上に] [前に] [次に]
おがまん [E-Mail] 1999/11/10(水) 14:20:52
質問、お願いします。
フレームの管理をしたいと思い、次のようなスクリプトを作りました。

<html><head><title></title>
<script language="JavaScript"><!--
function  frachange(){
  document.write("<frameset cols='20%,80%'><frame src=a.html><frame src=b.html></frameset>");
}
window.onload="frachange()";
//--></script></head>
</html>
 ところが、動いてくれませんでした.
window.onload="frachange()";の部分を消して、
<body onLoad="frachange()"></body>を</head>の後に入れると、
正常に動いてくれました。
なぜ、window.onLoadだと動いてくれないのか、教えてください。
よろしくお願いします。

下級天使 1999/11/10(水) 15:17:22
><body onLoad="frachange()"></body>
onLoad はイベントハンドラなので、このように使用。

window オブジェクトに onLoad というメソッドが存在しないからでは。

下級天使 1999/11/10(水) 15:26:37
http://www.tohoho-web.com/js/window.htm#Window
ここを探しても、onLoad メソッドは見当たらなかったです。
body onLoad= 〜 のように イベントハンドラとしては記載されてます。

もしそのようなもの( window.onLoad )が、存在していたら、ごめんなさい。

おがまん 1999/11/10(水) 21:20:55
[[解決]]
下級天使さん、回答ありがとうございます。
えっと、window.onLoadなのですが、
window.onLoad="frachange()";の「"」を消して
window.onLoad=frachange();とすると正常に動いてくれました。
どうもお騒がせしました。

Nobu3 1999/11/11(木) 20:03:17
でも、()をつけるとIE4では、エラーが出ました・・・。
つけないと、IE4も正常。

window.onload=frachange;

Mugi [E-Mail] [HomePage] 1999/11/11(木) 21:14:32
おがまんさん、これに付いて書くのは二度目です。
../199911/99110135.htmまず、window.onload=[関数] では 引数指定はエラーになります。
window.onload=onload
function onload(){frachange("20%","80%")}
などとするのが妥当。
window.onload=new Function('frachange("20%","80%")') も平気です。

おがまん 1999/11/11(木) 22:25:50
[[解決]]
Nobu3さん、Mugiさん、アドバイスありがとうございます。
現在は、onloadを使わず、直接document.writeで書き出すことにしています。
Nobu3さんへ:
>でも、()をつけるとIE4では、エラーが出ました・・・。
私はIE4は持ってないので、確かめられないのですが、やはりMugiさんのおっしゃるように、
引数指定にしているからエラーになるのでしょうね。

Mugiさんへ:
はい、ありがとうございます。何度もすみません。
一度目の文も分かりやすく読ませていただきました。

Nobu3 1999/11/12(金) 00:15:47
古い方に回答してたみたいですね。
まぎらわしかったかも。
すいません。>Mugiさん。おがまんさん。

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