在我的许多项目中,这里提到的方法是不稳定的。唯一对我有用的是将事件绑定为body元素上的原始属性。
<body onunload="my_function_unload()">
jQuery方法:
$('body').attr('onunload', 'my_function_unload()');
从 iframe:
<body onunload="window.parent.my_function_unload()">
jQuery方法:
$('<iframe />').load(function(){
$body = $(this).contents().find('body');
$body.attr('onunload', 'window.parent.my_function_unload()');
}
此外,重要的是,属性中没有参数,并且函数必须在全局窗口范围内,否则不会发生任何事情。
例如,常见错误如果您my_function_unload()
被包裹在;( function( $ ) {...
OR $(document).ready(function(){...
AS中,则my_function_unload()
必须在该私有范围之外。然后不要忘记使用jQuery
而不是$
前缀。(例如使用 Wordpress)