如何防止Tauri app打开远程链接



我使用React -ts制作了一个金牛座Hello world应用程序,其中包含金牛座,Vite和React的徽标,这些徽标是可点击的,当然,它使用aHTML标签,如<a href="https://vitejs.dev" target="_blank">,如果我点击它,在我的默认浏览器中打开一个新标签,加载该URL。

所以很自然地,我想测试如果金牛座应用程序会打开该链接(或任何其他远程URL实际上)在应用程序的webview,所以我把它改为<a href="https://vitejs.dev">这只是做了。

我想知道的是:如何配置任何金牛座应用程序不打开/加载任何url,除非我特别允许它?

我已经试过了:

  • 我尝试将tauri.conf.json文件中的CSP选项更改为none,以不允许任何远程脚本或....
"security": {
"csp": {
"default-src": ["'none'"]
}
},
  • 我也试着搜索一些allowed-navigation选项,有人谈到
  • 我也开始在main.rs文件中寻找before-navigate钩子,但我不知道如何实现它

如果你能解释如何达到我的目标,我将非常感激,如果你能给我同样更好的选择或更适合生产准备好的应用程序,我将更加感激你。

问候,
zk

解决这个问题的一种方法是在捆绑期间使用Remark/Rehype插件。

import rehypeExternalLinks from 'rehype-external-links';
...
rehypePlugins: [[rehypeExternalLinks, { target: '_blank' }]]
...

最新更新