可能與How to open mailto link in Chrome with Window.open without creating a new tab?mailto鏈接(在鉻)正在觸發window.onbeforeunload - 我可以防止這個?
大家好。我有一個表格頁面,我已經把window.onbeforeunload確認,阻止人們離開導航和意外失去他們的變化:
window.onbeforeunload = function(){
if(changed)
return "You have unsaved changes. Do you really want to leave this page without saving?";
};
其中changed
是一個變量i設置爲true,當用戶進行任何更改。這很好。不過,我也加入了一些mailto鏈接到頁面,像這樣:
<a class="button button-alt" href="mailto:[email protected]">Report a problem</a>
即使郵寄地址是不是從頁面(它打開用戶的默認郵件應用程序)進行導航了,它仍然觸發onbeforeunload事件,提示確認框,這是煩人的。我可以在鏈接上設置target="_blank"
,但用戶被留在空的標籤中。
我可以將mailto鏈接設置爲不觸發onbeforeunload事件嗎?我想到了另一個臨時性的javascript變量,它導致onbeforeunload確認不會觸發,但這似乎有點骯髒。無論如何,我會這樣做,而我等待迴應,但是有沒有人有更好的解決方案?
感謝,最大
這看起來好多了 - 謝謝! – 2015-02-20 09:29:53
真的嗎?你回答3年後的帖子?大聲笑唯一的區別是添加onclick一個不顯眼的事件...大聲笑 – epascarello 2015-02-20 17:18:44
依賴於jQuery沒有理由,依賴於全局變量。約翰·庫拉克的回答如下更好。它使用隱藏的iframe,完全消除了對JavaScript的需求,更不用說jQuery。然後可以自行包含模板文件中的修復。 – mGuv 2015-11-04 15:57:58