我正在调用Javascript window.open()
函数在弹出窗口中加载另一个url。
当用户关闭弹出窗口时,我希望调用MyThanks()
函数。我怎么能这样做?
我的剧本:
<!DOCTYPE html>
<html>
<head>
<script>
function openWin(){
myWindow=window.open('http://facebook.com/ekwebhost','','width=600,height=400,left=200');
myWindow.focus();
}
function MyThanks(){
alert("Thanks");
}
</script>
</head>
<body>
<input type="button" value="Open window" onclick="openWin()" />
</body>
</html>
关于弹出窗口的使用:
你知道Facebook&amp; Twitter仍然为用户提供弹出窗口,例如&amp;跟随。转到http://www.ekwebhost.com并点击Facebook“赞”按钮或Twitter“关注”按钮。为什么我不能根据自己的需要使用弹出窗口?
答案 0 :(得分:0)
function openWin(){
myWindow=window.open('http://facebook.com/ekwebhost','','width=600,height=400,left=200');
// Add this event listener; the function will be called when the window closes
myWindow.onbeforeunload = function(){ alert("Thanks");};
myWindow.focus();
}
试试这个!
您可以换出function(){ alert("Thanks");};
MyThanks
来调用您的函数。
答案 1 :(得分:0)
您打开的新窗口将具有一个名为opener
的属性,该属性引用创建它的Window
对象。然后,您可以通过调用window.opener.MyThanks();
弹出窗口:
<script type="text/javascript">
function closePopup() {
window.opener.MyThanks();
window.close();
}
</script>
<div>
<h1>My Popup</h1>
<!-- Form or info to display -->
<button onclick="closePopup();">Close</button>
</div>
虽然浏览器弹出窗口没有任何固有的错误,但它们可能很烦人,因为用户可能会在其他窗口后面丢失它们。此外,它会将您的焦点从您的页面上移开来做其他事情。我目前开发的应用程序试图将所有弹出窗口移动到Javascript对话框。一旦你获得3个弹出窗口,它对用户来说非常烦人。
您可以通过多种方式在网页中创建对话框。 jQuery UI是我喜欢的一个图书馆。
答案 2 :(得分:0)
您可以尝试以下方法:
<script>
function openWin(){
myWindow=window.open('http://facebook.com/ekwebhost','','width=600,height=400,left=200');
myWindow.focus();
MyThanks();
}
function MyThanks(){
alert("Thanks");
}
</script>