【发布时间】:2017-04-12 17:47:00
【问题描述】:
我有一个没有 src 属性的简单 iframe,以允许从其包含的文档中进行样式沙盒。 svg 元素上的 clip-path 属性在 Chrome 中似乎很好用,但在 Edge 中不能正常工作。
代码
<html>
<body>
<div>
<div id="expected"></div>
<hr>
<iframe id="myiframe" style="border: 0px;"></iframe>
</div>
<script>
var iframeDoc = document.getElementById("myiframe").contentWindow.document;
var svgStr = '<svg width="120" height="120" viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg"><defs><clipPath id="myClip"><circle cx="30" cy="30" r="20"/><circle cx="70" cy="70" r="20"/></clipPath></defs><rect x="10" y="10" width="100" height="100" clip-path="url(#myClip)"/></svg>';
document.getElementById("expected").innerHTML = svgStr;
iframeDoc.body.innerHTML = svgStr;
</script>
</body>
</html>
输出的顶部是直接嵌入页面的 svg——效果很好。底部是嵌入到页面 iframe 中的 svg - 不起作用。
显示该问题的小提琴示例是here。
我是否遗漏了一些东西以使其正常工作?
【问题讨论】:
标签: html iframe svg microsoft-edge clip