誰かが私のコードで何が間違っているのを見ることができますか?それはIEで正常に動作しますが、firefox 6はjavascript window.open呼び出しに渡す高さや幅の設定を無視しているようです。明らかに間違っているものは何も見えませんが、javascriptは私の最初の言語ではありませんので、どこかでnoobエラーが発生している可能性があります。Firefox 6でjavascript window.openの高さ、幅、上端、および左端の設定が無視されるのはなぜですか?
この機能の目的は、画面を中心に800x600のウィンドウを開き、IEブラウザとMozillaファミリブラウザの両方でモーダルモードで表示することです。
<html>
<head>
<script language="javascript" type="text/javascript">
function openWindow(pageURL,Title,w,h)
{
var left = (screen.width/2)-(w/2);
var top = (screen.height/2)-(h/2);
if (window.showModalDialog) {
window.showModalDialog(pageURL,Title,'dialogWidth:' + w + 'px,dialogHeight:'+ h + 'px,dialogTop:'+ top + 'px,dialogLeft:' + left + ',resizable=no');
} else {
window.open(pageURL,Title,"toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes,resizable=no,modal=yes, copyhistory=no,width=" + w + ", height=" + h + ", top=" + top + ", left=" + left)
}
}
</script>
</head>
<body>
<a href="javascript:openWindow('http://www.google.com','Google',800,600);">Launch</a>
</body>
</html>
ビットを明確にするために、関数はShowModalDialogの存在をテストするために設計されただけで(IEのみがそれをサポートすると仮定)とW3C window.openをサポートし、すべてで適切window.openの枝に落ちます"モーダル"オプションを実装するコマンド。その考え方は、ShowModalDialogが実装されていれば、そうでなければwindow.openを "Modal"オプションと共に使用するということです。
は 'showModalDialog'は基本的にこれだけIEがそのコードパスに陥るだろうと仮定して、今、すべてのブラウザでサポートされては悪い仮定です。 –