【问题标题】:Loading svg image using xlink (Chrome)使用 xlink (Chrome) 加载 svg 图像
【发布时间】:2014-07-18 23:16:15
【问题描述】:

谁能帮我弄清楚为什么第一张图片无法在 Chrome 中加载?在 Firefox 和 Safari 中测试,都很好。

我创建了 2 个 iframe,其中一个加载了动态生成的 svg 图像,其中包含与协议无关的 url:

img1.setAttributeNS('http://www.w3.org/1999/xlink', 'href', url);

第二个使用绝对url。

img2.setAttributeNS('http://www.w3.org/1999/xlink', 'href', 'http:'+url);

为什么 Chrome 不想加载第一张图片?

在这里演示:

http://jsfiddle.net/ioowilly/QbA2T/

【问题讨论】:

  • 这看起来可能是 Chrome 中的错误。您应该考虑举报。

标签: javascript iframe svg href xlink


【解决方案1】:

根据它在 chrome 中的工作更改您的代码

img1.setAttributeNS('http://www.w3.org/1999/xlink', 'href', 'http:'+url);

【讨论】:

  • 我在演示中以第二张图片为例。但是为什么没有 http 就不行呢?
【解决方案2】:

试试这个:

http://jsfiddle.net/QbA2T/1/

img1.setAttributeNS('http://www.w3.org/1999/xlink', 'href', 'http:'+url);

您在第一张图片中遗漏了“http”+ url。

编辑:

问题是没有http它不能评估字符串,最后一个值是一个字符串:

 value is the desired string value of the new attribute.

https://developer.mozilla.org/en-US/docs/Web/API/Element.setAttributeNS

它将被添加到您的元素中,但没有任何效果。

【讨论】:

  • 问题是为什么 http:// 在 Chrome 中是必要的,而在所有其他浏览器中 // 就足够了。此外,url 绝对是一个字符串。不过感谢您的尝试。
猜你喜欢
  • 2016-01-17
  • 2016-01-05
  • 1970-01-01
  • 2015-08-12
  • 1970-01-01
  • 1970-01-01
  • 2021-08-17
  • 2013-03-31
  • 1970-01-01
相关资源
最近更新 更多