2012-04-01 108 views
3

我有一個網站,我建立了一段時間。所有突然的,沒有改變任何代碼,中心彈出窗口現在已經失去了它的大小,它是中心對齊,坐在左上角約50×50像素!居中的彈出窗口突然不能在Chrome中工作

有沒有人知道這是什麼原因造成的?谷歌瀏覽器是否改變了影響我的腳本的內容?它仍然可以在所有其他瀏覽器中運行,並且在Chrome中也可以使用,而不是最近。

手機號碼:

onclick="wOpen('https://mydomain.com/mypage.html', 'preview', 800, 500); return false;" 

我的功能

function wOpen(url, name, w, h) { 
    w += 32; 
    h += 96; 
    wleft = (screen.width - w)/2; 
    wtop = (screen.height - h)/2; 

    if (wleft < 0) { 
    w = screen.width; 
    wleft = 0; 
    } 
    if (wtop < 0) { 
    h = screen.height; 
    wtop = 0; 
    } 

    var win = window.open(url, 
    name, 
    'width=' + w + ', height=' + h + ', ' + 
    'left=' + wleft + ', top=' + wtop + ', ' + 
    'location=no, menubar=no, ' + 
    'status=no, toolbar=no, scrollbars=yes, resizable=no'); 
    win.resizeTo(w, h); 
    win.moveTo(wleft, wtop); 
    win.focus(); 
} 

有什麼建議?

+0

你的代碼看起來就像是打開一個彈出窗口 - 我覺得彈出窗口被認爲是不好的網頁設計。我想你可能想看看像tinybox這樣的東西:http://sandbox.scriptiny.com/tinybox/最終結果是一個漂亮的彈出框,它很容易工作。 – 2012-04-01 02:11:49

+0

您是否測試過在鉻或金絲雀通道中是否正確打開?這可能是一個已在更高版本中修復的錯誤。 – abraham 2012-04-01 02:12:50

+1

@ChrisCannon:打開一個小的子窗口(彈出)並不差的網頁設計。看看Google Fonts和Facebook/Twitter開發者網站。他們都使用「彈出」窗口,這被認爲是不好的網頁設計?如果它們真的很糟糕,爲什麼頂級開發者仍在使用它們? – TheCarver 2012-04-01 13:22:45

回答

2

在chrome中resizeTo()和moveTo()似乎有問題。

通常chrome應該忽略這些方法,但現在它們被執行並且窗口移動到一個未知的地方並且具有未知的大小。

我根本沒有看到窗口,但是在任務欄中我發現它一定在某個地方,我也能夠最大化它。

建議: 做一個條件,以防止行在鉻中執行。

更好建議: 請不要使用這些方法。

另見:The javascript "resizeTo" function not working in Chrome and Opera

相關問題