请考虑以下JavaScript代码片段:
const app = document.getElementById('root');
const svg = `<svg version="1.1" id="Layer_1"...`;
const obj = document.createElement('object');
obj.setAttribute('type', 'image/svg+xml');
obj.setAttribute('data', `data:image/svg+xml; base64,${btoa(svg)}`);
app.appendChild(obj);
setTimeout(() => {
console.log(obj.contentDocument.querySelector('svg'));
}, 1500);
(有关完整示例,请参阅 )
运行此命令时,控制台(Google Chrome)中会显示以下错误:
HTMLObjectElement未捕获DOMException:未能从“”HTMLObjectElement“”中读取“”contentDocument“”属性:阻止具有源“"https://fiddle.jshell.net”“的帧访问跨域帧。”“在setTimeout (https://fiddle.jshell.net/_display:77:19)
考虑到这一点;
contentDocument
时,这为什么被认为是跨域请求?https://stackoverflow.com/questions/46929730
复制相似问题