我需要在离开页面(页面'#first')时执行某些操作。 这真的很简单:当我通过“内部”离开页面pagebeforehide事件仅针对“内部”页面转换触发
$(document).on('pagebeforehide', '#first', function(event, ui) {alert('leaving page');});
没问题的链接是这样的一个:
<a href="#second" data-role="button">Open something</a>
这里触发的事件和处理程序执行。
但是,当我要开这样一个外部链接:不会触发
<a href="http://www.google.com" rel="external" data-role="button">Open something</a>
这里的事件和处理不执行。
无关紧要的是页面内容简单或复杂 - 我发现这只取决于链接内部还是外部的事实。
怎么了?
你能不能指点一些SAFE(意思是:独立于浏览器)陷入页面之间转换的方式? 这真的很重要,因为谷歌浏览器不支持DOM'onunload'事件,移动Safari(iOS设备)不支持'onbeforeunload'事件等 – 2013-05-01 09:20:13
你运气不好,因为没有任何类似的crossbrowser实现。但是这不应该阻止你作弊。我会在我的答案中写出可能的解决方案。 – Gajotres 2013-05-01 09:37:03
点击处理是处理页面转换的明显例子。 显而易见但并未涵盖所有可能的方式 - 使用浏览器后退/前进按钮和关闭页面进行转换。 它是最终的 - 常规意义上的陷阱页面转换(!)的跨浏览器实现不存在吗? – 2013-05-01 10:53:09