我一直在关注使用Javascript访问SVG元素的示例,但我无法让它工作.这段代码有什么问题?
使用Javascript:
var objTag = document.getElementById('esc-seconds-1s');
objTag.addEventListener('load', function() {
var svgDoc = objTag.contentDocument;
var cc3 = svgDoc.getElementById('cc3');
cc3.setAttribute('fill', 'red');
}, false);
Run Code Online (Sandbox Code Playgroud)
我收到以下控制台错误:
Uncaught SecurityError: Failed to read the 'contentDocument' property from 'HTMLObjectElement': Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match.
Run Code Online (Sandbox Code Playgroud)
我认为这个错误有点失误.错误来自contentDocument行,所以我认为这不是因为相同的原始策略.另外,我在SVG文件中没有任何xlink行.这是我的SVG的顶部:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
Run Code Online (Sandbox Code Playgroud)
SVG显示正常,为什么objTag.contentDocument调用失败?
html:
<object class="esc-seven-segment" id="esc-seconds-1s"
type="image/svg+xml" data="images/seven-segment-digit.svg"></object>
Run Code Online (Sandbox Code Playgroud)
谢谢,
-Andres
您使用Chrome并使用本地文件(即.file://)吗?
运行本地Web服务器(http://localhost/)或尝试使用其他浏览器进行测试.
| 归档时间: |
|
| 查看次数: |
3649 次 |
| 最近记录: |