javascript - 动态添加到 iframe 的 SVG 无法正确呈现

标签 javascript iframe svg

具体来说,IRI 引用(例如 fill="url(#myLinearGradient)")似乎不起作用。

此处示例:http://jsfiddle.net/QYxeu/2/

截图(右侧iframe):

enter image description here

右边没有渲染线性渐变

我在 Chrome、Firefox 中遇到了这个问题,但奇怪的是 Safari 没问题。

有谁知道问题可能是什么以及如何解决?

最佳答案

这个问题可以通过一次打开和关闭 iframe 文档来解决。似乎有些浏览器需要先初始化 iframe 的内容文档,然后才能使用它来解析 url 片段。

var iframe = document.createElement('iframe');
document.body.appendChild(iframe);
iframe.contentDocument.open();
iframe.contentDocument.close();

modified version of your example效果很好。

关于javascript - 动态添加到 iframe 的 SVG 无法正确呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10177190/

相关文章:

javascript - 将react-native-navigation与redux结合使用时,应用程序未注册错误

javascript - 获取 float 在下一行的第一个元素

javascript - jquery .val() 方法在动态生成的元素上获取请求

javascript - 如果我的网站通过 iframe 打开第 3 方网站,第 3 方网站能否成功设置自己的 cookie?

javascript - Frame Busting 克星并不完全适用于 IE

javascript - jquery:将div从其他页面加载到div中

javascript - 如何将元素附加到 iframe 表单?

javascript - SVG 箭头动画

javascript - 无法将事件添加到内联 SVG 元素

javascript - 如何将此 SVG 三 Angular 形转换为 "wandering"路径表示?