我使用React -ts制作了一个金牛座Hello world应用程序,其中包含金牛座,Vite和React的徽标,这些徽标是可点击的,当然,它使用a
HTML标签,如<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' }]]
...