未捕获的DOMException:阻止了源为“ http:// localhost:3000”的框架访问跨域框架

时间:2018-07-05 13:37:17

标签: javascript html sandbox

我正在尝试在iframe中更改样式,我给iframe设置了sandbox="allow-same-origin allow-scripts"属性,但仍然收到“用原点阻止框架”的问题?

<iframe
  height="100%"
  sandbox="allow-same-origin allow-scripts"
  src={formLink}
  onLoad={event => {
    console.log('event', event, event.target);
    const iframeEle = event.target;
    const iframeEleDocument = (iframeEle.contentWindow || iframeEle.contentDocument);
    console.log('iframeEleDocument', iframeEleDocument);
    debugger;
    iframeEleDocument.body.style.backgroundColor = "red";
  }}
/>

1 个答案:

答案 0 :(得分:0)

我认为postMessage是实现此目的的安全方法。您可以使用postMessage在iframe中设置事件功能,然后就可以在其中进行操作。

GitHub上有许多有关postMessage的商品,您可以方便地完成它。