TypeError: window.open is not a function

今天發現一個小菜鳥的問題,點擊登錄時,沒法彈出登陸框,firebug調試報錯“TypeError: window.open is not a function”,一直很納悶,這明明是javascript方法函數,怎麼說不是一個函數呢。對js文件全局搜索window.open,沒有哪裏重新定義啊,再搜搜頁面源碼“open”,是的,open被定義爲一個變量,而且沒用var聲明。

$(function(){
    open = true;
……
}

將open變量用var聲明,問題就解決了。

總結:在正常情況下,window.open是一個函數。所以你可能已經在代碼中的其他位置重新定義了它,最有可能是定義了一個變量open,沒有用var聲明。

> window.open
function open(){[native code]}

> open ="test"
"test"

> window.open
"test"
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章