簡體   English   中英

彈出窗口 - Safari 中與其他瀏覽器的大小不同

[英]Popup window - different size in Safari to other browsers

我正在使用以下代碼彈出一個窗口 - 它需要是一個確切的大小 - 它在除 Safari 之外的每個瀏覽器中都有。

您可以直接使用以下 2 頁進行測試。 第一個創建一個帶有鏈接的頁面,單擊以彈出窗口。 第二個是打開的頁面,該頁面帶有頁面大小警報。

在 Safari Mac 中,它顯示的尺寸為:800 x 578 - 在其他所有瀏覽器中為 800 x 640(應該是)。

帶鏈接的頁面:

<html>
<body>
<a href="size.html" onclick="javascript:void window.open('size.html','1401806967791','width=800,height=640,toolbar=0,menubar=0,location=0,status=0,scrollbars=0,resizable=0,left=0,top=0');return false;">PacFace</a>

<br />
<a href="#size.html" onClick="window.open('size.html','pagename','resizable,height=640,width=800'); return false;">New Page</a>

</body>
</html>

..和大小.html:

<html>
<script>
var w = window.innerWidth;
var h = window.innerHeight;

alert(w + ' × ' + h);

</script>
</html>

存在兩個鏈接 - 在這兩種情況下,它都會打開一個新窗口 - 在錯誤的高度(寬度很好) - 僅在 safari 中。

如何讓它在所有瀏覽器中以相同大小彈出一個新窗口?

我對此進行了大量研究,但奇怪的是沒有發現有關此特定主題的任何內容。

好吧,這里可能有一些語法錯誤,但就像我在評論中所說的那樣,我無法測試它。 嘗試這個:

function setWindowHeight(){
            var windowHeight = window.innerHeight;
            var outerHeight = window.outerHeight;
            var newHeight;
            if (windowHeight < 640) {
                newHeight = outerHeight + (outerHeight - windowHeight);
                document.getElementById('YourIdHere').style.height = newHeight + "px";
            }
        }

由於 IOS 具有不同大小的邊框,您需要對它們進行補償,可能有更好的方法來做到這一點,但這應該可以完成工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM