You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

CanDeactivate在iFrame中不触发

在iFrame中触发CanDeactivate需要在父组件中添加一些额外的代码。具体步骤如下:

  1. 在父组件中注入Router并在构造函数中定义一个路由事件的观察者:

import { Router, NavigationEnd } from '@angular/router'; import { HostListener } from '@angular/core';

export class ParentComponent { constructor(private router: Router) { this.router.events.subscribe(event => { if (event instanceof NavigationEnd) { // Do something } }); }

@HostListener('window:beforeunload', ['$event']) unloadNotification($event: any) { // Do something } }

  1. 在iFrame的src中添加一个参数:

<iframe [src]="url + '?embedded=true'"></iframe>

  1. 在CanDeactivate守卫中添加以下代码:

canDeactivate( component: ComponentCanDeactivate, currentRoute: ActivatedRouteSnapshot, currentState: RouterStateSnapshot, nextState?: RouterStateSnapshot ): Observable<boolean> | Promise<boolean> | boolean { if (this.isEmbedded()) { // Do something } else { return component.canDeactivate ? component.canDeactivate() : true; } }

  1. 编写isEmbedded函数

private isEmbedded(): boolean { return window.location.search.indexOf('embedded=true') > -1; }

这样就可以在iFrame中正确触发CanDeactivate了。

本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
面向开发者的云福利中心,ECS 60元/年,域名1元起,助力开发者快速在云上构建可靠应用

社区干货

从重构到扩展——跨端通讯SDK

的主要通讯流程:1. Jockey调用Dispatch.send方法;2. Dispatch.send调用Dispatch.dispatchMessage方法;3. Dispatch.dispatchMessage内部创建一个iframe元素,填入src,并添加到dom;4. iframe经由WebView发送指定`jockey://`开头的网络请求,并注册回调函数到Dispatch.callbacks成员变量;5. Native层拦截请求,拿到传递的数据,触发Jockey.triggerCallback函数(下一小节会详细分析这一步的流程)关键代码片段:``` ...

得物效率前端微应用推进过程与思考

在基座可能包括对特定页面的处理逻辑,这里不再举例> > > > 5. **业务投放成本方面。**有些业务的内容区非常适合投放到多个平台,但通常情况下中后台应用代码的布局和内容部分是强耦合的。单独将内容区域投... 定时巡检和告警会触发运行,定期扫描工程质量并通知到相关方> > > > ### **2. 整体架构**### 图中绿色区域是需要开发的产品或文档。![picture.image](https://p6-volc-community-sign.byteimg.com/...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

CanDeactivate在iFrame中不触发 -优选内容

H5作者主页
概述 火山引擎提供作者主页H5页面,用于展示作者发布的所有内容作品,客户可以通过webview/iframe加载作者主页。 产品体验 视频 预览图 示例效果 接入步骤 获取个性化内容接口会返回home_page字段,即火山引擎H5作... 用户触发关注作者操作后,关注状态变更结果同步到H5作者页注册的方法。 接口入参: 字段 类型 说明 是否必填 data authorId String 当前页面的作者 ID 是 callbackApi String H5作者页注册方法,使用evaluateJavaSc...
智能数据洞察服务功能说明
在画布组合,且可通过鼠标拖拽移动位置 支持加入筛选、图表、富文本、图片等丰富控件,丰富数据故事 支持数据透视、自定义信息提示、上下钻取、联动、跳转等动态交互分析 支持订阅、授权操作 ✅ ✅ 嵌入式分析 支持通过iframe的方式嵌入智能数据洞察的页面 ✅ ✅ AI洞察 支持智能归因,实现自动发现数据波动的关键因素 支持自定义监控预警规则,触发预警支持通过飞书、钉钉、企业微信、webex、短信、邮箱 ✅ ✅ 移动端 产品...
从重构到扩展——跨端通讯SDK
的主要通讯流程:1. Jockey调用Dispatch.send方法;2. Dispatch.send调用Dispatch.dispatchMessage方法;3. Dispatch.dispatchMessage内部创建一个iframe元素,填入src,并添加到dom;4. iframe经由WebView发送指定`jockey://`开头的网络请求,并注册回调函数到Dispatch.callbacks成员变量;5. Native层拦截请求,拿到传递的数据,触发Jockey.triggerCallback函数(下一小节会详细分析这一步的流程)关键代码片段:``` ...
2023年8月
并在上传记录展示。同时上传性能进行了优化,上传速度提升 优化 标签构建需要在 资源总额度 范围内使用,当资源额度用完时,用户需删除标签或分群,释放资源后才可以创建新标签,或联系你的客户经理增购计算资源。... 开放能力更新类型 功能描述 产品截图说明 新增 在线服务接口新增行为和明细数据接口,可对外输出明细或行为数据。 新增 群体洞察报告支持以iframe形式嵌出到外部系统中,可直接在其他产品中查询并显示报告内容。 ...

CanDeactivate在iFrame中不触发 -相关内容

H5详情页

不需要拼接其他业务模块的客户 获取个性化内容接口会返回article_url字段,即火山引擎内容H5详情页。 使用 webview 或 iframe 等,直接加载火山引擎内容H5详情页。 拼接模式适用场景:详情页需要插入其他业务模块的... javascript // 客户H5在初始化时添加事件监听,接收火山引擎H5高度信息window.addEventListener('message', function(event){ try{ // 可以看到这data的格式是一个json字符串:{ contentHeight: xxx} ...

SaaS 与 aPaaS 功能差异

输出了一套支持在您自身产品独立接入的 aPaaS 方案。SaaS 方案和 aPaaS 方案的企业直播观播页面存在一定的功能差异,具体支持情况见下表。 说明 iframe 嵌入能力与 SaaS 方案相同。详情请参见 iframe 嵌入。 表格内... 可在系统日历添加事件。 支持 支持 支持 支持 支持 支持 支持 支持 直播报名 通过报名审核的观众才可以观看直播。 支持 支持 支持 不支持 不支持 不支持 不支持 不支持 引导页 进入移动端观...

事件

IMEvent 类型: enum IM SDK 事件名。 成员 属性 值 描述 Error 'error' 内部抛出异常时触发 WebSocketConnected 'websocket-connected' 长链建联 WebSocketDisconnected 'websocket-disconnected' 长链断开 WebSoc... im_proto.IFrame; [IMEvent.ReceiveNewMessage]: Message; [IMEvent.ReceiveNewUpdateExtMessage]: Message; [IMEvent.ReceiveSelfMessage]: Message; [IMEvent.ReceiveNewP2PMessage]: P2PMessage ...

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

事件

IMEvent 类型: enum IM SDK 事件名。 成员 属性 值 描述 Error 'error' 内部抛出异常时触发 WebSocketConnected 'websocket-connected' 长链建联 WebSocketDisconnected 'websocket-disconnected' 长链断开 WebSoc... im_proto.IFrame; [IMEvent.ReceiveNewMessage]: Message; [IMEvent.ReceiveNewUpdateExtMessage]: Message; [IMEvent.ReceiveSelfMessage]: Message; [IMEvent.ReceiveNewP2PMessage]: P2PMessage ...

2023 年

2023-12-05 数据心 Web 观播 SDK 发布 1.3.14 版本。 2023-12-05 Web 观播 SDK 发布历史 2023 年 11 月功能 说明 发布时间 相关文档 页头广告 支持在移动端竖屏模式展示页头图和页头广告。 2023-... 2023-11-23 嘉宾连麦 直播画面为什么不清晰? iframe 嵌入 支持通过 iframe 嵌入的方式,将企业直播控制台的功能模块嵌入您的自有页面。 2023-11-23 控制台 iframe 嵌入 Web 观播 SDK 发布 1.3.13 版本,包含...

仪表盘阅览操作

心-订阅管理 2.2.4 设为默认仪表盘使用场景如果用户有某一个重点关注的仪表盘,可将其设为默认,每次打开仪表盘模块系统自动展示默认仪表盘。功能说明点击「设为默认仪表盘」即可将仪表盘设为默认仪表盘。进入此项目的仪表盘页面时,都将打开默认仪表盘。用户可在相同区域通过点选「取消设置为默认仪表盘」取消默认仪表盘设置。 2.2.5 嵌出仪表盘支持用户将制作的图表、仪表盘以IFrame的形式嵌入到文档或者其他平台。 用户可选择配...

基础功能

VePlayer 通过 HTML5 的

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

一图详解大模型
浓缩大模型架构,厘清生产和应用链路关系
立即获取

最新活动

爆款1核2G共享型服务器

首年60元,每月仅需5元,限量秒杀
立即抢购

火山引擎增长体验专区

丰富能力激励企业快速增长
查看详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询