У меня есть страница, где я динамически создаю пустой iframe. Затем мне нужно заполнить содержимое iframe, извлекая некоторые данные ответа js-script. Все отлично работает, когда я звоню JS URL:Динамическое содержимое iframe из ответа js
(function(d) {
var iframe = d.body.appendChild(d.createElement('iframe')),
doc = iframe.contentWindow.document,
options = {
objid: 152,
key: 316541321
},
src = "host/widget.js",
uri = encodeURIComponent(JSON.stringify(options));
iframe.id = "iframewidget";
iframe.width = 200;
iframe.height = 300;
var html = '<body onload="var d=document;' +
'd.getElementsByTagName(\'head\')[0].appendChild(d.createElement(\'script\')).src=\'' + src + '\'">';
doc.open().write(html);
doc.close();
})(document);
Но мне нужно, чтобы запустить widget.js с некоторым динамическим параметром. Есть ли способ передать значение переменной uri скрипту? Я использую чистый JavaScript, а не jQuery
Просто добавьте строку запроса в файл js? Или какой параметр вы имеете в виду? – Connum
Вы уверены, что iFrame именно то, что вам нужно создать? Обычно iFrames используются для загрузки внешнего кода на вашу страницу, например, на внешнюю страницу HTML, PHP и т. Д. Вы динамически создаете iFrame, а затем вам нужно передать переменные в атрибуте «src». Тогда загружаемая страница отвечает за обработку этих переменных. Если вы планируете хотя бы сделать «фрейм» исключительно с вашего javascript, при этом вся логика «внешняя», вам лучше начать создавать простой контейнер HTML (DIV). – Strahdvonzar
@Connum, как это сделать? Мне нужно, чтобы widget.js использовал значение «uri», указанное в моем коде – mogilka