Javascript 使用加载后获取iframe的内容
我想实现休闲的目标。我想通过点击一个按钮,在一个输入中输入域名,并将其加载到iframe中。我遇到的问题是,在iframe中加载特定站点后,如何在iframe中获取加载站点的DOM?我需要在iframe中单击我从新加载的站点中选择的元素的确切路径来保存它。任何帮助都将不胜感激。谢谢。您使用的是Javascript 使用加载后获取iframe的内容,javascript,jquery,Javascript,Jquery,我想实现休闲的目标。我想通过点击一个按钮,在一个输入中输入域名,并将其加载到iframe中。我遇到的问题是,在iframe中加载特定站点后,如何在iframe中获取加载站点的DOM?我需要在iframe中单击我从新加载的站点中选择的元素的确切路径来保存它。任何帮助都将不胜感激。谢谢。您使用的是.contents() 比如$(“iframe”).contents().find()etc您可以通过contentDocument属性访问的内容 var iFrameContent = $('myIFra
.contents()
比如$(“iframe”).contents().find()
etc您可以通过contentDocument
属性访问
的内容
var iFrameContent = $('myIFrame')[0].contentDocument;
$(iFrameContent).find('.mySelector').text();
我还应该指出,只有当
的src
与脚本来自同一域时,才能访问
的内容。如果
的src
来自任何其他域,浏览器将拒绝访问
内容
这是一个考虑因素
更新:
要绕过CORS限制,您必须为URL编写一个服务器端代理,该URL是
的src
(可能非常简单)
如果我在ASP.Net中执行类似操作(作为示例),我将编写一个web服务:
字符串
参数HTTPWebRequest
对象(或类似对象)获取URL内容然后您可以将
src
设置为“http://mysite.com/getURLService?url=www.lalala.com
“并获取内容,因为内容现在由”http://mysite.com“嗯。。。这就是问题所在,它不是使用相同的域名,我在我的域名上这样做,我在iframe中加载另一个站点。。。就像www.lalala.com,我想得到的是DOM,不是我的。。。有可能发生这种情况吗?@LachezarRaychev:更新的答案。对于记录,您可以使用contents()获取iframe的内容。jQuery文档中有这样的描述,我自己也做过很多次。