2012-04-01 12 views
3

私はしばらく前に構築したウェブサイトを持っています。突然、コードを変更することなく、中央に配置されたポップアップウィンドウのサイズが失われ、中心の位置合わせが行われ、左上隅に約50 x 50ピクセルが表示されます。ポップアップウィンドウが突然Chromeで動作しない

これを引き起こした原因は誰か分かりませんか? Google Chromeはスクリプトに影響を与えたものを変更しましたか?それはまだ他のすべてのブラウザで動作し、最近はそうではなく、Chromeで動作しました。

私の発信者:

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

My機能

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

を持っている - 私は、ポップアップウィンドウが悪いWebデザインと考えていると思います。私はあなたがtinyboxのようなものを見たいと思うかもしれないと思う:http://sandbox.scriptiny.com/tinybox/最終的な結果はすばらしいポップオーバーボックスであり、それは働くことが非常に簡単です。 –

+0

Chromiumまたはカナリアチャンネルで正しく開くかどうかテストしましたか?おそらく、それ以降のバージョンで修正されたバグです。 – abraham

+1

@ChrisCannon:小さな子供のウィンドウ(ポップアップ)を開くことは悪いウェブデザインではありません。 GoogleフォントとFacebook/Twitterの開発者サイトをご覧ください。彼らはすべて "ポップアップ"ウィンドウを使用しますが、それは悪いウェブデザインと見なされますか?彼らが本当に悪い場合、なぜトップの開発者はまだそれらを使用していますか? – TheCarver

答えて

2

chromeのresizeTo()とmoveTo()に問題があるようです。

通常、クロムはこれらのメソッドを無視する必要がありますが、何らかの形でそれらが実行され、ウィンドウが不明な場所に移動し、不明なサイズを取得します。

私はウィンドウが全く表示されませんが、タスクバーにはどこかにあるはずですが、最大化することもできます。

提案: クロムにラインが実行されないように条件を設定してください。

良い提案: これらのメソッドはまったく使用しないでください。

も参照してください:The javascript "resizeTo" function not working in Chrome and Opera

関連する問題