09/10/2018, 18:21

Làm sao bắt được nút Close trên IE

Có cách nào dùng Javascript để bắt sự kiện này không, thử sử dụng onUnload thì được thì khi bấm vaò các link thậm chí bấm F5 nó cũng làm y như khi bấm vaò close
Or có cách nào dùng để biết khi nào ng sử dụng tắt trình duyệt đi k, em sử dụng PHP
ParaSnake viết 20:32 ngày 09/10/2018
Vì mình là 1 con người rất dễ thương nên mình giúp bạn nè
Code:
<INPUT TYPE=submit name=closebutton value=Close onClick=window.close() class="knp">
Đừng chết vì ngạc nhiên nhé,chỉ cần 1 dòng code thui là xong ròi,ko cần sự kiện gì đâu
NoZ viết 20:25 ngày 09/10/2018
Nobboo, vấn đề của bạn chỉ có thể được giải quyết bằng cách sử dụng frameset vì như bạn đã thấy, nếu viết code cho sự kiện unload trên trang hiện tại thì bất cứ khi nào bạn chuyển trang (nhấn một cái link trên trang hiện tại chẳng hạn) đoạn javascript bạn viết cho sự kiện unload sẽ thực thi (vì lúc đó, trang hiện tại bị unload).

Cách giải quyết bằng frameset như sau: bạn viết thêm một trang frameset gồm 2 frame, một frame (hidden) sẽ được ẩn đi source của frame này sẽ là một trang html mà bạn sẽ viết đoạn code unload, frame còn lại (main) dùng để load tất cả các trang web khác trong website của bạn.

Làm như vậy, chỉ khi nào users của bạn tắt window thì sự kiện unload (hay onbeforeunload ) của trang html trong frame "hidden" mới xảy ra. Còn như click vô link trên một trang nào đó trong frame "main" thì sự kiện này không thể xảy ra được. Để tạo một frameset như trên, bạn có thể viết như sau
1/trang default.html
Code:
<frameset rows="100%,*" border="0" frameborder="0">
<frame src="index.html" name="main" scrolling="auto">
<frame src="hidden.html" noresize name="hidden">
</frameset>
2/ trang index.html
Code:
 
<html>
<body>
This is the index page<br>
<a href='testlink.html'>Test link</a>
</body>
</html>
3/trang testlink.html
Code:
<html>
<body>
This is the testlink page<br>
</body>
</html>
4/trang hidden.html
Code:
<html>
<head>
<script language=javascript>
function close()
{
    alert("window closed");
}
</script>
</head>
<body onUnload=close();>
</body>
</html>
Bạn test thử xem.
NumPad0 viết 20:35 ngày 09/10/2018
Bạn có thể sử dụng sự kiện onUnload.
Code:
<body onLoad="closing=true" onUnload="if (closing) window.open('thanksForVisiting.html','newwin');">

<a href="nextpage.htm" onClick="closing=false">Click to go to another page..</a>
ParaSnake viết 20:31 ngày 09/10/2018
hiz,mấy bác làm em hổng hiểu gì hết trơn ???
sao ko gán vào 1 button cho mau lẹ,chẳng lẽ em hiểus ai àh???
:-/
Nobboo viết 20:34 ngày 09/10/2018
thank NoZ và NumPad0, cách của 2 bạn rất tốt nhưng nó mắc lại vướng ở 2 chỗ : khi bạn bấm F5 or Back(Forward) thì browser vẫn làm hàm onUnLoad, có cách nào để giải quyết nốt vấn đề này k,
mình dốt JS lắm.
cũng cám ơn ParaSnake nhưng you hiểu lầm ý mình gòi ^_^, ý mình là bắt lấy event khi nào user close browser chứ k phải bấm vào nút để tắt browser
Bài liên quan
0