如何将 SVG 中的链接写成 URL 相对而不是网络服务器根(文件系统)相对?
How to write links in SVG to be URL-relative instead of webserver root (Filesystem) relative?
当我在 SVG 文件中添加 link 时,例如
<a xlink:href="target.htm"></a>
然后这个 link 被视为文件系统-相对于 SVG 所在的位置,例如(假设一个 Wordpress 设置)它变成 www.example.com/wordpress/wp-content/themes/mytheme/mysvgfolder/target.htm
.
在 HTML 中执行此操作时(与 SVG 文件位于相同的文件系统路径中),如 <a href="target.htm">my Link</a>
,然后 link 实际上得到 www.example.com/prettyurl/target.htm
,不不管实际的文件系统路径是什么。
我如何必须在 SVG 文件中输入相对 link 才能实际获得 (HTTP-)URL-相对 link 尊重我的漂亮 link结构?
我不能选择绝对路径,因为 SVG 文件要在不同的域和不同的文件系统路径中使用。
您无需输入您可以使用的域名
<a xlink:href="/wordpress/wp-content/themes/mytheme/mysvgfolder/target.htm">
这将展开以反映域,但不会相对于文件位置。
或者使用 HTML <base>
标签,然后所有相关链接都将相对于 <base>
标签位置。如果你这样做了,你当然需要小心内部链接。
当我在 SVG 文件中添加 link 时,例如
<a xlink:href="target.htm"></a>
然后这个 link 被视为文件系统-相对于 SVG 所在的位置,例如(假设一个 Wordpress 设置)它变成 www.example.com/wordpress/wp-content/themes/mytheme/mysvgfolder/target.htm
.
在 HTML 中执行此操作时(与 SVG 文件位于相同的文件系统路径中),如 <a href="target.htm">my Link</a>
,然后 link 实际上得到 www.example.com/prettyurl/target.htm
,不不管实际的文件系统路径是什么。
我如何必须在 SVG 文件中输入相对 link 才能实际获得 (HTTP-)URL-相对 link 尊重我的漂亮 link结构?
我不能选择绝对路径,因为 SVG 文件要在不同的域和不同的文件系统路径中使用。
您无需输入您可以使用的域名
<a xlink:href="/wordpress/wp-content/themes/mytheme/mysvgfolder/target.htm">
这将展开以反映域,但不会相对于文件位置。
或者使用 HTML <base>
标签,然后所有相关链接都将相对于 <base>
标签位置。如果你这样做了,你当然需要小心内部链接。