【发布时间】:2020-08-15 22:57:04
【问题描述】:
我有一个 iframe,我正在尝试访问它的 textarea 并添加一个侦听器:
onIframeRef = (node) => {
this.Iframe = node;
};
componentDidMount() {
let iframeDoc = this.Iframe.contentDocument || this.Iframe.contentWindow.document;
let textArea = iframeDoc.contentWindow.document.getElementById("some-textarea")[0];
textArea.addEventListener("input", this.onInput);
}
render() {
return <div>
<iframe
ref={this.onIframeRef}
sandbox="allow-same-origin"
srcdoc='<html><body><textarea id="some-textarea"></textarea></body></html>'
></iframe>
</div>
}
我很困惑设置 srcdoc 是否意味着代码是相同的来源,因为代码不起作用,this.Iframe 既没有 contentDocument 也没有 contentWindow
【问题讨论】:
标签: javascript html reactjs iframe same-origin-policy