【问题标题】:svg issue : xlink:href not working on ios with cordova and angularjssvg 问题:xlink:href 不适用于带有 cordova 和 angularjs 的 ios
【发布时间】:2014-06-23 07:51:29
【问题描述】:

我遇到了一个关于 svg 和 ios 的奇怪问题。我正在使用 angularjs 和 cordova。

我在 Angular 应用程序中包含一个外部 svg,并以这种方式在我的视图中显示它:

<svg viewBox="0 0 640 550">
    <use xlink:href="#mysvg"></use>
</svg>

在我的外部 svg 中,我有几个带有链接的 g 元素:

<a xlink:href="/path/to/page"></a>

当我使用cordova 导出webview 时,这在android 上运行良好,但在ios 上却不行。它适用于我的 iphone 模拟器...

谁能帮我解决这个问题?

【问题讨论】:

    标签: angularjs cordova svg xlink


    【解决方案1】:

    好的,我刚刚成功添加了 xlink 和命名空间,并将链接放在带有 use 标签的 svg 中,而不是在外部 svg 中。我对标记还有另一个问题,显然您必须关闭每个标签,否则每个其他标签将被包装在第一个标签中,这会破坏您的布局顺序。例如&lt;path /&gt; 不起作用,&lt;path&gt;&lt;/path&gt; 工作正常。

    最后,我得到了这样的东西:

    <svg viewBox="0 0 640 550" xmlns:xlink="http://www.w3.org/1999/xlink">
        <use xlink:href="#mysvg"></use>
        <a xlink:href="/path/to/page">
            <path></path>
            <rect></rect>
            <text></text>
        </a>
    </svg>
    

    【讨论】:

      【解决方案2】:

      尝试将 xlink 命名空间添加到您的 SVG。

      <svg viewBox="0 0 640 550" xmlns:xlink="http://www.w3.org/1999/xlink">
          <use xlink:href="#mysvg"></use>
      </svg>
      

      【讨论】:

      • 抱歉耽搁了,谢谢您的回答。我已经尝试了你的解决方案,但它仍然不起作用。我会继续努力并让你知道。
      猜你喜欢
      • 1970-01-01
      • 2017-10-10
      • 1970-01-01
      • 1970-01-01
      • 2019-06-24
      • 1970-01-01
      • 2018-11-04
      • 2021-11-23
      • 1970-01-01
      相关资源
      最近更新 更多