AOSC-Dev / website-2023

2023 re-implementation of the community portal
http://website-2023.aosc.io
3 stars 3 forks source link

Vue 的 RouterLink 组件只能跳转到站内相对路径,产生无法正确跳转至外链的问题 #9

Closed Tenktau closed 2 months ago

Tenktau commented 2 months ago

如题,在浏览软件本地化页面时,我发现单击“工作指南文件”超链接时会被错误地重定向至:

<站点ip>/https://repo.aosc.io/aosc-l10n/zh_CN_l10n_1.5.4.pdf

通过浏览页面源代码,发现问题所在如下:

https://github.com/AOSC-Dev/website-2023/blob/f57ad0c7c544e9741cce500c44c3629a8b74aece/src/pages/l10n/Index.vue#L40

Vue 中的 RouterLink 组件本身并不支持外链,只能在站点内进行相对路径重定向,推荐阅读以下页面:

  1. https://router.vuejs.org/guide/advanced/extending-router-link.html
  2. https://www.jianshu.com/p/470d69bc28bd
shatian114 commented 2 months ago

如题,在浏览软件本地化页面时,我发现单击“工作指南文件”超链接时会被错误地重定向至:

<站点ip>/https://repo.aosc.io/aosc-l10n/zh_CN_l10n_1.5.4.pdf

通过浏览页面源代码,发现问题所在如下:

https://github.com/AOSC-Dev/website-2023/blob/f57ad0c7c544e9741cce500c44c3629a8b74aece/src/pages/l10n/Index.vue#L40

Vue 中的 RouterLink 组件本身并不支持外链,只能在站点内进行相对路径重定向,推荐阅读以下页面:

1. https://router.vuejs.org/guide/advanced/extending-router-link.html

2. https://www.jianshu.com/p/470d69bc28bd

代码里已经在utils定义了toUrl,会判断是否为外链,进行对应处理

Tenktau commented 2 months ago

@shatian114 感谢回应!

但还有若干处需要进行同样的处理,包括但可能不限于:

https://github.com/AOSC-Dev/website-2023/blob/a0a1bd6f6c41b3f0ae3ca614f1bc22ea042f2809/src/pages/oma/Index.vue#L61

https://github.com/AOSC-Dev/website-2023/blob/a0a1bd6f6c41b3f0ae3ca614f1bc22ea042f2809/src/pages/liblol/Index.vue#L69