当前位置:网站首页>H5 开发内嵌页面跨域问题
H5 开发内嵌页面跨域问题
2022-08-04 15:19:00 【qq_45689385】
问题
有一个内嵌外部网页的需求,而页面内嵌进来出现跨域,从而进行一系列尝试
解决思路
由于是H5开发,当时内嵌用的是iframe,想起移动端有一个webview,webview的权限比iframe的高,就想着用webview尝试一下,但是发现最终浏览器把webview还是解析成为了iframe,于是自己写了一个demo,在原生环境下运行测试了一下webview,发现并未出现跨域问题,于是想着那我像app壳子那样用plus动态创建一个webview呢,应该不会被解析成iframe了把,测试过后,发现成功解决
解决代码逻辑
mounted() {
if (window.plus) { // 判断是否又plus
this.plusReady();
} else {
document.addEventListener('plusready', this.plusReady, false);
}
},
methods: {
plusReady() {
this.ws = plus.webview.currentWebview(); // 动态创建一个当前窗口
this.createWebview();
},
createWebview(){
// 创建webview this.src:地址 embed:id名称
let embed = plus.webview.create(this.src, 'embed', {
top: '58px',
bottom: '0px',
position: 'dock'
});
this.embed = embed;
// 添加到当前窗口
this.ws.append(embed);
}
},
// 组件销毁时清除,解决返回后,webview窗口未销毁返回导致遮挡原页面的问题
destroyed() {
// 从webview实例中移出
this.ws.remove(this.embed);
// 清除
this.embed.removeFromParent();
this.embed.close();
}
边栏推荐
猜你喜欢
随机推荐
界面组件DevExpress ASP.NET Core v22.1 - 增强数据导出功能
分布式链路追踪Jaeger + 微服务Pig在Rainbond上的实践分享
Roslyn 通过 nuget 统一管理信息
Semaphore 基本原理
leetcode:241. 为运算表达式设计优先级
using关键字学习
LeetCode_模拟_中等_498.对角线遍历
MySQL优化学习笔记
1403. Minimum Subsequence in Non-Increasing Order
leetcode: 241. Designing precedence for arithmetic expressions
性能提升400倍丨外汇掉期估值计算优化案例
Jupyter常用操作总结(强烈建议收藏,持续更新实用操作)
Unity AR阴影投射透明地面 仅渲染模型实时阴影 Shader实现
微软表示将向内部网络安全专家共享数据 为企业提供更安全保护
leetcode: 259. Smaller sum of three numbers
Oracle 数据库用户创建、重启、导入导出
How to fall in love with a programmer
C语言写简单三子棋
什么,你告诉我?作用域也分种类?
Pisanix v0.2.0 发布|新增动态读写分离支持








