Tôi có một loạt các trang mở cửa sổ bật lên (các tab mới trong Mobile Safari.) Mỗi cửa sổ bật lên này cần biết khi nào chúng tập trung hay không. Trên máy tính để bàn, chúng tôi sử dụng window.onblur
và window.onfocus
để điều khiển hành vi này. Tuy nhiên, không có sự kiện nào trong số này hoạt động trên iPad. Tôi cũng đã thử window.onpageshow
và window.onpagehide
mà dường như cũng không phát ra đúng thời điểm. Tôi có một tệp HTML thử nghiệm:Phát hiện chuyển sang tab mới trong Mobile Safari
<html>
<head>
<script language="javascript">
console.log('Hello');
window.onblur = function(e) { console.log('blur'); };
window.onfocus = function(e) { console.log('focus'); };
window.onpagehide = function(e) { console.log('pagehide'); };
window.onpageshow = function(e) { console.log('pageshow'); };
</script>
</head>
<body>
<a href="http://www.google.com" target="_blank">Click Me</a>
</body>
</html>
Lý thuyết, khi bạn nhấp vào 'Nhấp vào', bạn sẽ nhận được sự kiện mờ khi cửa sổ mới xuất hiện. Nhưng điều này không xảy ra trên Mobile Safari. onpagehide
và onpageshow
không hiển thị tình yêu nào, chúng chỉ giúp phát hiện khi bạn sắp đóng tab.
Làm cách nào để có được hành vi mà tôi đang tìm kiếm trong Mobile Safari? Có thể ở tất cả?
Cảm ơn bạn, có vẻ như chỉ là vé! –
thực sự theo nhận xét của Chris Keele, có thể không hoạt động trong Mobile Safari. Tôi không có iPad của tôi ngay bây giờ - nếu những gì anh ấy nói là đúng, có cách nào để sử dụng Mobile Safari không? –
Trên thực tế, nó không ** hoạt động trên iOS. – arik