我知道有很多关于它的话题,但没有一个有效。我只需要获取 iframe 内容(不是源代码)。
我有一个表单,将一些参数发布到另一台服务器,并将其定位到 iframe(位于同一页面上)。因此,我收到存储在 iframe 中的服务器响应代码而无需刷新页面:
<form name='vin_form' id='file_upload_form' action='*****' method='post'>
<input name='name1' value='value1'>
<input name='name2' value='value2' type='hidden'>
<input name='name3' value='value3' type='hidden'>
<div onclick=\"document.getElementById('file_upload_form').target = 'upload_target'; document.vin_form.submit();\">Send form</div>
</form>";
<iframe id='upload_target' name='upload_target'></iframe>
为了获得 iframe 内容,我使用了一切,但没有任何效果:
jQuery('#upload_target').load(function()
{
alert(jQuery('#upload_target').contents().find('body').html());
var myIFrame = document.getElementById('upload_target');
var content = myIFrame.contentWindow.document.body.innerHTML;
alert(content);
alert(window.frames.upload_target.document.body);
}
);
我读到了“同源政策”,但我认为在我的情况下不应该禁止它,因为我可以通过 url 访问该页面并阅读所有代码,那么为什么我不能以编程方式进行呢?
PS:还有其他方法可以从另一台服务器获取表单响应代码吗?(由于某些站点框架防御,php curl 不起作用)