onbeforeunload 相关问题

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

我们是否可以在 javascript 上检测 beforeunload/unload 事件是刷新还是离开?

//这似乎是一个重复的问题,但我发现的所有问题都是旧问题,并且想知道最新浏览器中是否有任何新功能可用 要求:识别...

回答 1 投票 0

如何使用 onbeforeunload 事件处理程序而不弹出消息?

我正在尝试使用 onbeforeunload 事件来记录页面的一些最终日志(我无法在访问中间执行此操作,因为我必须在用户离开之前获取日志)。 功能

回答 3 投票 0

打印后删除iframe

我是 HTML 和 Javascript 新手。我正在尝试编写一个 Javascript 函数来打印(隐藏的)iframe 的内容,以便在不打开文档的情况下打印文档(看似给用户)。 我爸...

回答 2 投票 0

如何使用react-beforeunload钩子?

注销功能只能在窗口关闭时执行。 使用react-beforeunload钩子时如何区分刷新和关闭?

回答 1 投票 0

Angular - @HostListener - 完全防止页面刷新

我正在使用 @HostListener 来防止窗口重新加载。我已经实现了我的代码如下 - @HostListener('窗口:卸载前', ['$event']) unloadNotification($event: 任意) { 让我们检查保存...

回答 1 投票 0

addEventListener beforeunload 用于提示休假在 React 中不起作用

我正在尝试在用户离开页面时设置提示,我的简单代码是: 使用效果(()=> { window.addEventListener("卸载前", (事件) => { 事件.preventD...

回答 1 投票 0

删除 beforeunload 事件在 React 中不起作用

下面的代码片段假设添加和删除事件监听器handleBeforeUnload。在检查浏览器控制台时,我看到打印了“inside else”,但是加载页面仍然如此......

回答 1 投票 0

如何在退出 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

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