我正在開發基於網絡的遊戲,使用processing.js
,我的問題涉及用於管理瀏覽器窗口的純JavaScript代碼。javascript窗口中的window.open()和window.close()在關閉後不會重新打開
遊戲是小的瀏覽器窗口(200像素* 200像素)的每個邊界可以是一個壁或通道到另一個窗口一個迷宮。我的問題是,如果我關閉,我從那時候來的窗口,我試着找回它不會重新開放,即使我使用了之前使用的相同的功能。
我有一個混帳回購協議運行在這裏:GitHub - TheMidst。
如果你想重現 「錯誤」:
代碼從GitHub拉:
- 推出
index.html
(在你喜歡的瀏覽器,我使用Chrome)。 - 不要等待了,然後單擊
start button -> level0.html
打開。 - 去點擊的
canvas->
level1.html
右側右側打開。 - 回到您
steps -> level0.html
仍然打開。 - 回到
level1.html
的右邊,它不會重生 ... =>這是我的問題。
/js - >包含一個windowScripts.js,它通過函數處理窗口的打開和關閉,這是我的窗口管理器的核心,它有錯誤。
/levels - >將每個級別都包含爲html頁面。
/PD - >包含遊戲的聲音作爲純數據的補丁(是的!)
遊戲還遠遠沒有完呢,所以一切遠非完美。任何幫助將不勝感激。
乾杯。
編輯以添加一些代碼
打開一個彈出我使用:POPUP(1); // 1是我想要打開的級別的數量。
這涉及到這個js函數
功能POPUP(winNum){
var windowFeatures = "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,left="+(winVars[winNum][0])+",top="+(winVars[winNum][1])+",width="+winVars[winNum][2]+",height="+winVars[winNum][3];
windows[winNum] = window.open("level"+winNum+".html", "myWindow"+winNum, windowFeatures);
windows[winNum].moveTo(winVars[winNum][0],winVars[winNum][1]);
}
我的所有窗口屬性存儲在陣列
關閉我使用窗口:closeWindows(0); // 0是我想要關閉的窗口的編號。
功能closeWindows(winNum2){
的setTimeout(寡婦[winNum2] =窗口。關閉(),50); }
其實我一直在使用 「window.opener.popUp(myPopup)」 做了修正
一些變化已經在問題有點beetween父窗口等混亂......
在github上進行回購,如果你有同樣的問題,你仍然可以參考github回購。
乾杯
也許你可以在錯誤發生在這裏發佈一些代碼? – David
我所有的代碼都在github頁面中。但我實際上並不確切知道錯誤發生的位置。我只能猜測它可能是在windowScripts.js – user1803507