下面的代码在我的firefox浏览器中工作正常,当我在chrome中运行时,我正面临一个问题
<!DOCTYPE html>
<html>
<head>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js'></script>
</head>
<body>
<embed src='first.svg' type='image/svg+xml' id='test'/>
<script>
$(document).ready(function() {
var embed = document.getElementById('test');// getting undefined
embed.addEventListener('load', function(){
var svg = embed.getSVGDocument(); //getting null
var pathElements = svg.getElementsByTagName('path');
for(var i=0;i<pathElements.length;i++){
$(pathElements[i]).bind('click', function() {
alert($(this).attr('id'));
});
}
});
});
</script>
</body>
</html>
错误
未捕获DOMException:无法执行&#39; getSVGDocument&#39; on&#39; HTMLEmbedElement&#39;:使用origin&#34; null&#34;阻止了一个帧。从访问跨源框架。
问题:
为什么这在firefox中工作而不在chrome中是否应该为chrome提供任何特定的文档对象。