javascriptでフルスクリーン表示をしたく、以下のように作りました。

http://www.geocities.jp/kanetomo123/sample/
画面1の「ENTER」クリック後、画面2が表示されます。画面2が開かれた後、画面を閉じ、改めて画面1の「ENTER」をクリックするとjavascriptエラーになり、画面2が表示されません。
どなたかエラーの原因を教えていただけませんでしょうか?

回答の条件
  • URL必須
  • 1人5回まで
  • 登録:2007/06/04 16:27:44
  • 終了:2007/06/04 18:15:38

回答(2件)

id:Yota No.1

Yota回答回数453ベストアンサー獲得回数282007/06/04 16:53:28

ポイント35pt

function Fullscreen(){

fullscreen = window.open("index02.html","fullwindow","toolbar=yes,menubar=yes");

fullscreen.moveTo(0,0);

fullscreen.resizeTo(screen.availWidth,screen.availHeight);

}

<a> href="javascript:Fullscreen()">ENTER</a>

こんなふうにすればいいのでは。

理由は、functionの名前とwindowオブジェクトの名前が衝突しているとか。

じゃなぜ1回目はうまくいくのか。わたしにはわかりません。

http://dummy.com/

id:GEN111 No.2

GEN111回答回数472ベストアンサー獲得回数582007/06/04 18:00:10

ポイント50pt
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
<title></title>
<SCRIPT LANGUAGE="JavaScript">
<!--
function Fullscreen(){
Fullscreen = window.open("index02.html","fullwindow","toolbar=yes,menubar=yes");
Fullscreen.moveTo(0,0);
Fullscreen.resizeTo(screen.availWidth,screen.availHeight);
}

alert(typeof(Fullscreen)) ;
//-->
</SCRIPT>
</head>

<body>
画面1<br />
<a href="javascript:void(0)"  onclick="Fullscreen(); alert(typeof(Fullscreen));">ENTER</a>
</body>
</html>

このようにして実行すると、最初の Alert(typeof(Fullscreen)) では「function」が表示され、Enter をクリックすると「Object」と表示されます。

 これは関数Fullscreenを実行することによって

Fullscreen = window.open("index02.html","fullwindow","toolbar=yes,menubar=yes");

この行により Fullscreen が関数から window を指すオブジェクトに書き換えられてしまったということです。

 回避方法は

NewWindow = window.open("index02.html","fullwindow","toolbar=yes,menubar=yes");

のように変数名を変えるか、

var Fullscreen = window.open("index02.html","fullwindow","toolbar=yes,menubar=yes");

var を付けて関数Fullscreenでのローカルスコープの変数にする事です。

 この場合は変数名を変えるほうが適当だと思いますが。


ウィンドウ(Window)

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません