onbeforeunload 相关问题

在用户导航之前触发onb​​eforeunload事件。此事件侦听器可用于在页面休假时向用户显示确认对话框。

如何在退出 Angular 应用程序之前运行代码?

当用户退出角度应用程序而不按注销(关闭选项卡或浏览器)时,我试图在本地存储中添加一些内容。 这是我尝试过的: @HostListener('窗口:UnloadHander', ['$eve...

回答 1 投票 0

onbeforeunload 在 codeigniter 中不起作用

我有非常简单的代码,只是在页面刷新之前显示警告。该代码使用Codeigniter作为框架(不确定Codeigniter是否与该问题相关)。我有一个视图文件(test_v.php)...

回答 2 投票 0

$(window).unload 未触发

我想在用户放弃使用 jQuery 的特定页面时执行操作方法。 该页面有以下代码: $(窗口).卸载(</desc> <question vote="24"> <p>我想在用户使用 jQuery 放弃特定页面时执行操作方法。</p> <p>该页面有以下代码:</p> <pre><code> &lt;script type=&#34;text/javascript&#34;&gt; $(window).unload(function () { alert(&#34;Handler for .unload() was called.&#34;); }); &lt;/script&gt; </code></pre> <p>当我离开该页面时,我永远不会看到预期的警报。</p> </question> <answer tick="true" vote="35"> <p>实际上,如果您尝试在窗口中 <pre><code>alert</code></pre> <pre><code>unload</code></pre>,某些浏览器(例如 Google Chrome)可能会被阻止。作为用户,我喜欢这个功能。每次您尝试离开某个页面时都会发出警报,这很糟糕:</p> <p><img src="https://cdn.txt58.com/i/AWkuc3RhY2suaW1ndXIuY29tL0pkSTNOLnBuZw==" alt="enter image description here"/></p> <p>将警报替换为 <pre><code>console.log</code></pre> 或其他对用户干扰较小的内容,该事件将被愉快地调用。</p> <p>您可能还想查看 <a href="https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event" rel="nofollow noreferrer">onbeforeunload</a> 事件。</p> </answer> <answer tick="false" vote="21"> <p>jquery .on('卸载',..);对我来说工作不可靠。我改用beforeunload。只需确保您没有返回任何内容,否则用户将收到“您确定要离开该页面吗”弹出窗口。</p> <pre><code>&lt;script type=&#39;text/javascript&#39;&gt; $(window).on(&#39;beforeunload&#39;, function(){ console.log(&#34;beforeUnload event!&#34;); }); &lt;/script&gt; </code></pre> </answer> <answer tick="false" vote="9"> <p>正如贝尔姆所说 <b>卸载前</b> 对我也有用。 <br/> 在此事件上返回 false 将调用浏览器默认值 </p> <blockquote> <p>您确定要离开此页面吗?</p> </blockquote> <p><br/></p> <pre><code>$(window).on(&#39;beforeunload&#39;, function () { return false; }); </code></pre> </answer> <answer tick="false" vote="2"> <p>在我的很多项目中,<strong>这里提到的方法都不稳定</strong>。对我来说唯一有用的就是将事件绑定为 body 元素上的原始属性。<strong> </strong><code>&lt;body onunload=&#34;my_function_unload()&#34;&gt; </code><strong> </strong>jQuery方法:</p> <pre><code>$(&#39;body&#39;).attr(&#39;onunload&#39;, &#39;my_function_unload()&#39;); </code></pre> <p>来自 iframe:</p> <pre><code>&lt;body onunload=&#34;window.parent.my_function_unload()&#34;&gt; </code></pre> <p>jQuery方法:</p> <pre><code>$(&#39;&lt;iframe /&gt;&#39;).load(function(){ $body = $(this).contents().find(&#39;body&#39;); $body.attr(&#39;onunload&#39;, &#39;window.parent.my_function_unload()&#39;); } </code></pre> <p>另外,</p>重要<pre>,属性中没有参数,并且函数必须位于全局窗口范围内,否则什么也不会发生。 </pre> <p>例如,常见错误如果您的 <strong><code>my_function_unload()</code></strong> 包含在 </p><code>;( function( $ ) {...</code><p> 或 <pre><code>$(document).ready(function(){...</code></pre> AS <pre><code>my_function_unload()</code></pre> 中,则必须位于 <pre> 在该私有范围之外</pre>。并且不要忘记使用 <pre><code>jQuery</code></pre> 而不是 <strong><code>$</code></strong> 前缀。<pre> </pre> <pre> </pre>如果您想提醒用户您离开此页面,那么如果这样 </p> </answer><answer tick="false" vote="1"><p> </p> <p><code>/* $(window).unload(function() { //alert(&#34;you leaving this page&#34;); console.log(&#34;you leaving this page&#34;); }); */</code></p> <div data-babel="false" data-lang="js" data-hide="false" data-console="true"> <div> <pre></pre> </div>函数不适合你,然后用 on("beforeunload",function) 替换你的代码,如下所示 </div> <p></p><p> </p> <p><code>$(window).on(&#34;beforeunload&#34;, function() { alert(&#34;you leaving this page&#34;); console.log(&#34;you leaving this page&#34;); });</code></p> <div data-babel="false" data-lang="js" data-hide="false" data-console="true"> <div> <pre></pre> </div>这对我有用!您可以在控制台日志中看到输出 </div><p></p><p> <a href="https://i.stack.imgur.com/ZOIvY.png" target="_blank"> <img src="https://cdn.txt58.com/i/AWkuc3RhY2suaW1ndXIuY29tL1pPSXZZLnBuZw==" alt="you leaving this page"/> </a><code>window.onbeforeunload=navigationError; var dont_confirm_leave = 0; var leave_message = &#39;You sure you want to leave?&#39;; function navigationError(e) { if(dont_confirm_leave!==1) { if(!e) e = window.event; //e.cancelBubble is supported by IE - this will kill the bubbling process. e.cancelBubble = true; e.returnValue = leave_message; //e.stopPropagation works in Firefox. if (e.stopPropagation) { e.stopPropagation(); e.preventDefault(); } //return works for Chrome and Safari return leave_message; } } </code></p> </answer> <answer tick="false" vote="0"> <pre>我必须在 iframe 中做类似的事情,这对我有用:</pre> </answer><code>$(document).ready(function () { //... window.parent.$(&#39;iframe[title=&#34;Iframe&#34;]&#39;)[0].contentWindow.onunload = function() { //... }; }); </code><answer tick="false" vote="0"> <p>因此,基于后者,这应该可行:</p> <pre><code>$(document).ready(function () { //... window.onunload = function (){ alert(&#34;Handler for .unload() was called.&#34;); } } </code></pre> <p>看起来 «*.on('unload', function()...)*» jQuery 方法没有按预期工作。</p> <pre> </pre> <p>跳到 2024 年以上,请注意 </p><code>unload</code></answer> 事件正在被主要浏览器淘汰<answer tick="false" vote="0"> <p><pre>https://developer.chrome.com/docs/web-platform/deprecating-unload</pre></p> <p><a href="https://developer.chrome.com/docs/web-platform/deprecating-unload" rel="nofollow noreferrer">https://developer.mozilla.org/en-US/docs/Web/API/Window/unload_event</a></p> <p>而且它通常不可靠,具体取决于存在问题的浏览器版本,例如在跨域上下文中(请参阅此,仍然打开)<a href="https://developer.mozilla.org/en-US/docs/Web/API/Window/unload_event" rel="nofollow noreferrer"> </a></p>https://issues.chromium.org/issues/41183357<p></p> <p> <a href="https://issues.chromium.org/issues/41183357" rel="nofollow noreferrer"></a>

回答 0 投票 0

在发生nextjs 13应用程序路由器之前检测导航事件,然后防止它发生

使用 nextjs 12(页面路由器),从“next/router”返回的路由器具有您可以侦听和适当处理的导航事件。这是文档。 一个特定事件是routeChang...

回答 4 投票 0

有没有办法在iOS设备的Mobile Safari上使用window.onbeforeunload?

Apple 似乎已禁用 iOS 设备(iPhone、iPad、iPod Touch)的 window.onbeforeunload 事件。不幸的是,我找不到任何文档来说明为什么此事件在 Mobile Sa 中不起作用...

回答 4 投票 0

确认将页面保留在 ArcGIS Web 应用程序生成器中

我使用 ESRI ArcGIS Web App Builder 创建了一个应用程序。现在我想询问用户是否想在每次单击浏览器的前进或后退按钮或刷新页面时离开页面。 我

回答 1 投票 0

显示window.confirm以防止更改URL

需要防止更改我的组件中的 url。因此,需要显示一条消息,如果用户选择取消 - 不要更改 URL,如果确定 - 更改 URL。我如何在接下来的 13.4 中实现这个逻辑 这是我的

回答 1 投票 0

如何检测用户何时离开网页?

我想在用户通过关闭浏览器选项卡或按浏览器的后退按钮退出网页时触发一个功能。目前,我正在使用“beforeunload”和“unload&qu...

回答 1 投票 0

如何禁用角度中弹出的“离开站点?。您所做的更改可能无法保存”?

我尝试在到达订单确认页面后关闭浏览器,它会发出如下所示的警报。这会给用户造成误解,认为他的更改尚未保存。所以我想...

回答 3 投票 0

如何在用户离开页面之前运行代码?

我尝试过的任何方法都不起作用。我需要在用户完全离开页面之前运行一些代码: window.onbeforeunload = 函数(){ 警报(1); } window.addEventListener("卸载前", func...

回答 1 投票 0

当用户请求离开时如何将数据保存到数据库?

正确的方法是什么?我的目标是在数据库中保存用户观看视频的分钟数,直到他关闭页面并将视频的分钟数设置为他停止的位置,n...

回答 1 投票 0

如何使用@HostListener('window:beforeunload')取消路由?

我尝试在组件卸载之前调用确认,但它不起作用。 我通过点击调用确认,并且在收到错误消息的情况下,路由仍然会发生。 大概是我想念吧……

回答 2 投票 0

在React JS中基于propmt做一些逻辑

当用户想要关闭或刷新react js中特定组件中的页面时,我想显示提示警报,并根据确认刷新或关闭窗口执行一些不同的逻辑。他...

回答 1 投票 0

Angular beforeunload API-使用 fetch 进行调用

我在 Angular 15 中有一个组件,当窗口或选项卡关闭时,需要对我的后端进行 API 调用。我尝试像下面这样解决它,但显然这不是一个好的解决方案,因为使用 fetc...

回答 1 投票 0

在发生之前检测导航事件 nextjs 13 应用程序路由器

使用 nextjs 12(页面路由器),从“next/router”返回的路由器具有您可以侦听和适当处理的导航事件。这是文档。 一个特定事件是routeChang...

回答 1 投票 0

在选项卡或浏览器窗口关闭时运行代码,但不在页面重新加载时运行代码

我想在用户关闭选项卡或窗口时运行javascript函数,但如果用户只是刷新页面则不运行。 我尝试了 beforeunload 事件的事件处理程序,但它也会得到

回答 1 投票 0

仅在关闭选项卡或浏览器窗口关闭时运行代码,但不在 javascript beforeunload 事件中刷新时运行代码

我正在尝试在 beforeunload 事件中运行一些代码。问题是我只希望它在用户关闭选项卡或关闭浏览器窗口时运行,但我不希望它在刷新时运行。如果还有其他方法

回答 1 投票 0

如何在 ReactJS 中关闭浏览器或关闭标签时调用注销 api?

当我关闭浏览器或选项卡时,它应该调用注销 api。 有人可以提出任何解决方案吗?

回答 3 投票 0

我没有从窗口对象获取 beforeunload 事件

我有两个功能可以呼叫和加入现有呼叫。这是功能。 常量调用 = ({ 模式 }) => { callWindows[id] = window.open(`/call/${mode}/${id}`, '_blank', 'width=auto, height=

回答 1 投票 0

catching beforeunload 确认取消?

我想在用户离开页面时做一些事情,我添加了这段代码 window.onbeforunload = function (e){ return "你保存了一些未保存的数据,你想离开吗?"; } 这个提示可以通知...

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.