作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 SAP UI5 应用程序,我想显示一个当用户尝试通过应用程序外部的方法(单击链接、手动更改 URL 等)离开屏幕时出现的框。
我看到有一个 onWindowBeforeUnload()
方法,但我不确定将该方法放在哪里或如何调用它。我尝试将其包含在我想要该功能的 Controller 中,但当我离开时它不会被调用。如果有任何其他函数可以提供此行为,那也可以。
这是我在 Controller 中所做的事情:
onWindowBeforeUnload: function() {
alert("you sure?");
},
我看到这是组件类的一个方法,但我认为这是一开始就创建的;我对这个概念不太熟悉。
最佳答案
我认为您无法直接从 Controller 覆盖它。您要么必须在 window 对象本身上覆盖它(按照上面 @matt-spinks 的回答),要么在 Component.js 文件上覆盖它(如果您正在使用它)。
以下是在 Component.js 文件上执行此操作的方法:
sap.ui.define(["sap/ui/core/UIComponent"], function (UIComponent) {
"use strict";
return UIComponent.extend("company.main.Component", {
// ...
// ...
/**
* Fired before the window closes or moved to another URL
*/
onWindowBeforeUnload: function(oEvent) {
// your code
},
/**
* Fired when the window is closed.
*/
onWindowUnload: function(oEvent) {
// your code
}
});
});
关于javascript - onWindowBeforeUnload 应该放在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41945328/
我有一个 SAP UI5 应用程序,我想显示一个当用户尝试通过应用程序外部的方法(单击链接、手动更改 URL 等)离开屏幕时出现的框。 我看到有一个 onWindowBeforeUnload() 方法
我是一名优秀的程序员,十分优秀!