我使用AJAX成功地将iframe加载到div#output
中。这个脚本为我播放视频。
jQuery( document ).ready( function( $ ) {
$( '.play_next' ).on('click', function( event ) {
event.preventDefault();
$('#output').empty();
var meta_key = $( this ).data( 'meta-key' );
var post_id = $( this ).data( 'post-id' );
$.ajax( {
url: ajaxobject.ajaxurl,
type: 'POST',
dataType: 'html',
data: {
action : 'wpse_296903_call_meta',
post_id : post_id,
meta_key : meta_key,
},
success: function( result) {
$( '#output' ).append( result );
}
});
});
});
现在不再需要div中的
#output
,需要用form。
<form action="http://other-domain.com/" method="POST" target="_black">
<input type="submit" name="iframe" value="" />
</form>
此表单将iframe
提交到其他域,这些域在属性为target="_black
的新选项卡中打开。
如何在Form中设置#output
值并使用Ajax提交
编辑
如果iframe的来源不同,则不能从外部访问其内容。
如果是同一来源的
let form = document.createElement('form');
let input = document.createElement('input');
input.type = 'hidden';
input.value = encodeURIComponent(document.querySelector('iframe').contentDocument.innerHTML);
input.name = 'iframe_data';
form.action = 'myDestination.html'
form.appendChild(input);
document.body.appendChild(form);
form.submit();