Jquery не загружается внутри iFrame, включающего jquery - PullRequest
0 голосов
/ 16 апреля 2020

Мне нужно динамически создать Iframe и заполнить его содержимым, поэтому я делаю следующее:

var ifrm = document.createElement("iframe");
ifrm.id = 'myIframe';
document.getElementById('myIframe').contentWindow.document.write(myIframeContent);  

Проблема заключается в том, что содержимое iframe опирается на jquery. Jquery включено в заголовок myIframeContent следующим образом:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

Однако использование jquery селекторов (например, $ ('# myDiv')) в iframe приводит к тому, что переменная не определена. Я предполагаю, потому что есть проблема загрузки jquery, но я не уверен, почему. Это связано с тем, как создается iframe? Другие скрипты, включенные в содержимое iframe, работают правильно.

1 Ответ

0 голосов
/ 16 апреля 2020

Возможно, вам просто нужно выйти из режима <script><\/script>

, поэтому он не может выполнить это из-за ошибок безопасности

var ifrm = document.createElement("iframe");
ifrm.id = 'myIframe';
const myIframeContent = `<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"><\/script>
<div id="myDiv">Hello</div>
<script>$("#myDiv").html("Hello there")<\/script>`;
document.getElementById("content").appendChild(ifrm);
document.getElementById("myIframe").contentWindow.document.write(myIframeContent); 
<div id="content"></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...