我试图插入脚本& HTML转换为iframe。我的问题是我可以将HTML附加到iframe,但我无法附加它并保留Iframe的来源。
最终目标是将HTML加载到iframe源并具有叠加层。请指教。 我觉得我对这个有点偏僻。
$(function() {
var $frame = $('<iframe class="viewTrackingFrame" id="viewframe" src="https://www.google.com" width="100%" height="100%" style="width:100%; height:100%;position:relative;">');
$('body').html( $frame );
setTimeout( function() {
var doc = $frame[0].contentWindow.document;
var $body = $('body',doc);
$body.html('<h1>Test</h1>');
$body.html('<div id="cursor" style="position:absolute;style:z-index:999999;"><img width="80" src="/assets/img/cursor_blue.png" /></div>');
$body.html('<p id="test" style="z-index:9999999;">The queue length is: <span></span></p>');
}, 1 );
});
答案 0 :(得分:0)
这是你能做的。 使用空src属性创建iframe。给它一些id。对所需的URL进行ajax调用以获取所有html并将其附加到iframe的正文。现在,添加您希望在同一iframe中添加的任何其他HTML。我已经在jsfiddle中测试了该方法,请查看http://jsfiddle.net/9vhL2/
$(function() {
var $frame = $('<iframe class="viewTrackingFrame" id="viewframe" src="" width="100%" height="100%" style="width:100%; height:100%;position:relative;">');
$('body').html( $frame );
var $body = $("#viewframe").contents().find('body');
$.ajax(
{
url:"/echo/html/",
method:'POST',
success:function(data){
$body.append(data);
$body.append("<h1>Text added by script</h1>")
},
data: {html: "<p>Text echoed back to request</p><h2>Text from page</h2>"}
});
});