[英]How can I find the device height from inside an iframe on mobile?
我有一個在iframe中加載的應用。 代碼看起來像這樣(示例):
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0">
</head>
<body>
<iframe src="app_url_on_a_different_domain" height=100% width=100%>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0">
</head>
<body>...</body>
</html>
</iframe>
</body>
</html>
我正在嘗試通過執行以下操作從iframe內部獲取視口高度(iframe src是一個不同的域,因此我無法訪問父容器):
document.documentElement.clientHeight
這為我在桌面瀏覽器上提供了正確的視口。 但是,在移動Safari / Chrome瀏覽器中,我沒有獲取實際設備的高度,而是獲取了iframe中所有內容的高度。 因此,我得到的不是“ iPhone 5”上的“ 460”,而是“ 3000”。
如何從此iframe中獲取可用的視口?
所有現代的瀏覽器均不允許來自不同域(即不同來源)的操作。 這就是答案。
為什么您認為必須選擇替代路線?
您只能從腳本的來源獲取信息。 因為如果您可以訪問例如Screen
對象和任何其他對象,則可以訪問它的prototype
鏈(通過__proto__
)。 例如,通過此鏈,您可以訪問Object
並重新定義所有Object
所有getter和setter。 並從iframe控制父頁面。 這將是失敗,facepalm等。
天真地找到沒有門的房間的出口。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.