tauri + vue3 如何实现在一个页面上局部加载外部网页?

🏆本文收录于「Bug调优」专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

问题描述

  tauri v1(1.6左右)+ vue3 我想在vue3前端 页面上 在一个页面 而不是window.open 打开一个新的窗口去加载外部网页 我想在一个页面中 局部中间 加载一个外部网页 (试过 iframe 不同源 加载不了那个网页的js 排除了) 试过window.location.href = 但是这个整个页面都跳转了 我想要的是局部
然后网上搜索 有一个 tauir 的 webview 标签可以 但是 我使用了 类似

 <webview v-show="posdatas.sfym" :src="posdatas.serverUrl" />

  但是页面 没有任何反应 是空白的 我的需求就是 这个环境中 tauri + vue3 在一个页面中的局部 加载外部网页 并且外部网页中的js 正常加载 就好比一个做一个 浏览器一样去访问那个网页 但是显示出的 界面是在这个页面的局部位置 不影响整个页面 希望解答!

如上问题有来自我自身项目开发,有的收集网站,有的来自读者,如有侵权,立马删除。

解决方案

  如下是上述问题的解决方案,仅供参考:

  在 Tauri v1(1.6左右)结合 Vue 3 的环境中,如果你希望在页面的局部区域加载一个外部网页,并且需要这个网页中的 JavaScript 能够正常执行,确实可以使用 Tauri 的 <webview> 标签来实现。不过,由于安全原因,浏览器的同源策略会阻止跨域的 iframe 执行脚本,这就是为什么你不能直接使用 <iframe> 加载不同源的网页。

关于你提到的 <webview> 标签没有显示任何内容的问题,这里有一些可能的原因和解决方案:

  1. 确保 Tauri 版本支持

    • 确认你正在使用的 Tauri 版本确实支持 <webview> 标签。在某些版本中,<webview> 可能还未被完全集成或存在兼容性问题。
  2. 检查 src 属性

    • 确保 :src="posdatas.serverUrl" 中的 posdatas.serverUrl 是一个有效的 URL,并且能够被加载。
  3. CSS 样式问题

    • 检查是否有 CSS 样式影响了 <webview> 的显示,例如 display: nonevisibility: hidden
  4. JavaScript 错误

    • 检查浏览器的开发者工具中的控制台,看是否有任何 JavaScript 错误阻止了 <webview> 的加载。
  5. Tauri 配置问题

    • 确保 Tauri 应用的配置允许加载外部内容。有时候,安全设置可能会阻止加载外部资源。
  6. Vue 响应性问题

    • 如果 posdatas.sfym 是一个布尔值,用来控制 <webview> 的显示,确保这个值是响应式的,并且在数据变化时能够触发 DOM 的更新。
  7. 权限问题

    • 确保 Tauri 应用有足够的权限去访问外部 URL。在某些系统或网络环境中,可能需要特定的权限。
  8. 检查 Tauri 的依赖

    • 确保 Tauri 的所有依赖都是最新的,并且没有已知的 bug 影响 <webview> 的功能。

如果上述方法都不能解决问题,你可以尝试创建一个简单的示例来隔离问题。例如,创建一个新的 Tauri + Vue 3 项目,只包含一个 <webview> 标签,看看是否能够正常工作。如果可以,那么问题可能出在你的项目特定的配置或代码上。

  此外,由于 Tauri 1.6 可能还不是一个长期支持版本,如果可能的话,考虑升级到最新版本的 Tauri,以获得更好的支持和修复。

  最后,如果你的问题依然无法解决,你可以考虑在 Tauri 社区或者相关的开发者论坛上寻求帮助,那里可能有其他开发者遇到过类似的问题,并提供了解决方案。

  希望如上措施及解决方案能够帮到有需要的你。

  PS:如若遇到采纳如下方案还是未解决的同学,希望不要抱怨&&急躁,毕竟影响因素众多,我写出来也是希望能够尽最大努力帮助到同类似问题的小伙伴,即把你未解决或者产生新Bug黏贴在评论区,我们大家一起来努力,一起帮你看看,可以不咯。

  若有对当前Bug有与如下提供的方法不一致,有个不情之请,希望你能把你的新思路或新方法分享到评论区,一起学习,目的就是帮助更多所需要的同学,正所谓「赠人玫瑰,手留余香」。

☀️写在最后

  ok,以上就是我这期的Bug修复内容啦,如果还想查找更多解决方案,你可以看看我专门收集Bug及提供解决方案的专栏「Bug调优」,都是实战中碰到的Bug,希望对你有所帮助。到此,咱们下期拜拜。

码字不易,如果这篇文章对你有所帮助,帮忙给bug菌来个一键三连(关注、点赞、收藏) ,您的支持就是我坚持写作分享知识点传播技术的最大动力。

同时也推荐大家关注我的硬核公众号:「猿圈奇妙屋」 ;以第一手学习bug菌的首发干货,不仅能学习更多技术硬货,还可白嫖最新BAT大厂面试真题、4000G Pdf技术书籍、万份简历/PPT模板、技术文章Markdown文档等海量资料,你想要的我都有!

📣关于我

我是bug菌,CSDN | 掘金 | InfoQ | 51CTO | 华为云 | 阿里云 | 腾讯云 等社区博客专家,C站博客之星Top30,华为云2023年度十佳博主,掘金多年度人气作者Top40,掘金等各大社区签约作者,51CTO年度博主Top12,掘金/InfoQ/51CTO等社区优质创作者;全网粉丝合计 30w+;硬核微信公众号「猿圈奇妙屋」,欢迎你的加入!免费白嫖最新BAT互联网公司面试真题、4000G PDF电子书籍、简历模板等海量资料,你想要的我都有,关键是你不来拿哇。


  • 18
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。
使用 Tauri 和 Rust 结合实现接入 AI 是一种可行的方式。以下是一种简单的实现思路: 1. 选择 AI 库: 首先,选择一个适合你的需求的 AI 库。在 Rust 中,有许多成熟的 AI 库可供选择,例如 TensorFlow、PyTorch、ONNX Runtime 等。根据你的具体需求,选择一个合适的库来进行 AI 模型的加载和推理。 2. 在 Rust 中加载和使用 AI 模型: 使用选定的 AI 库,在 Rust 中加载和使用 AI 模型。这通常涉及到模型的加载、预处理输入数据、调用 AI 模型进行推理,以及处理输出结果等步骤。根据你选择的 AI 库和具体的 AI 模型,可以参考相应的文档和示例代码来实现这些功能。 3. 在 Tauri 中创建自定义 API: 在 Tauri 的 Rust 代码中创建自定义 API,用于将 AI 功能封装为 Tauri 的 API。这样,你就可以在 JavaScript/TypeScript 中通过 Tauri API 调用 AI 功能。 4. 在前端代码中调用 Tauri API: 在你的前端代码(如 Angular)中,使用 Tauri 提供的方法来调用自定义的 AI API。通过调用 Tauri API,你可以将输入数据发送到 Rust 代码中进行 AI 推理,并将结果返回给前端进行展示或后续处理。 需要注意的是,具体的实现方式会因为选择的 AI 库和具体的 AI 模型而有所不同。你可以参考 Tauri 和选定 AI 库的文档、示例代码以及相关社区资源来实现 AI 功能的接入。另外,确保在 Rust 中使用 AI 库时,根据需要处理好内存管理、并发性能等问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bug菌¹

你的鼓励将是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值