Реагировать в песочнице iframe ничего не разрешать - PullRequest
2 голосов
/ 10 июня 2019

У меня есть требование использовать песочницу iframe в приложении React.В котором я не хочу ничего разрешать и ограничивать все.

Поэтому, когда я передаю песочницу как пустую, что-то вроде: -

<iframe
  frameBorder="0"
  ref={(container) => { this.container[index] = container; }}
  srcDoc={thread.body}
  sandbox
/>

Я получаю это - "Предупреждение: Получено true для не-логического атрибута sandbox. "

реакции:" ^ 16.5.2 "

1 Ответ

0 голосов
/ 10 июня 2019

React обрабатывает <iframe sandbox /> так же, как это было <iframe sandbox={true} />, что здесь неверно.

Основываясь на документах здесь: https://www.w3schools.com/tags/att_iframe_sandbox.asp, браузер ожидает, что подпорка для песочницы будет пустым значением.

Вы должны просто использовать

<iframe
  frameBorder="0"
  ref={(container) => { this.container[index] = container; }}
  srcDoc={thread.body}
  sandbox=""
/>

РЕДАКТИРОВАТЬ:

Поскольку OP ответил в комментариях, он должен был сделать sandbox="allow-same-origin allow-popups".

...