人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: tbs5tyan
●カテゴリ:インターネット ウェブ制作
✍キーワード:JavaScript エラー クリック フルスクリーン 作りました
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● Yota
●35ポイント

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/


2 ● GEN111
●50ポイント
<!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)

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ