Традиционный способ (считается немного неаккуратно, не будет работать со страницами хозяевах XHTML-как-XML, если вызывается после загрузки страницы с помощью асинхронном, взорвет всю страницу):
document.write('<iframe src="http://www.example.com/myframe" width="100" height="100"></iframe>');
в качестве альтернативы с innerHTML
к элементу на странице с заданным именем:
document.getElementById('examplecomframe').innerHTML= '<iframe src="http://www.example.com/myframe" width="100" height="100"></iframe>';
Или с DOM, чтобы вставить непосредственно перед текущим <script>
(Хотя еще раз, что может быть непредсказуемым, если отложено):
(function() {
var iframe= document.createElement('iframe');
iframe.src= 'http://www.example.com/myframe';
iframe.width=iframe.height= 100;
document.getElementById('examplecomframe').appendChild(iframe);
})();
Или вставить непосредственно перед текущим сценарием:
var scripts= document.getElementsByTagName('script');
var script= scripts[scripts.length-1];
script.parentNode.insertBefore(iframe, script);
Я не хотел бы использовать JQuery для включения сценария третьей стороной. Вам нужно будет загрузить всю тяжелую фреймворк на прилагаемую страницу, только ради нескольких строк JS.Это может привести к столкновениям с другими фреймворками (или разными версиями jQuery), которые используются главной страницей, что-то очень грубое для стороннего скрипта.
Не могу поверить, насколько это было легко. Большое спасибо! – Industrial