Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用加载后获取iframe的内容_Javascript_Jquery - Fatal编程技术网

Javascript 使用加载后获取iframe的内容

Javascript 使用加载后获取iframe的内容,javascript,jquery,Javascript,Jquery,我想实现休闲的目标。我想通过点击一个按钮,在一个输入中输入域名,并将其加载到iframe中。我遇到的问题是,在iframe中加载特定站点后,如何在iframe中获取加载站点的DOM?我需要在iframe中单击我从新加载的站点中选择的元素的确切路径来保存它。任何帮助都将不胜感激。谢谢。您使用的是.contents() 比如$(“iframe”).contents().find()etc您可以通过contentDocument属性访问的内容 var iFrameContent = $('myIFra

我想实现休闲的目标。我想通过点击一个按钮,在一个输入中输入域名,并将其加载到iframe中。我遇到的问题是,在iframe中加载特定站点后,如何在iframe中获取加载站点的DOM?我需要在iframe中单击我从新加载的站点中选择的元素的确切路径来保存它。任何帮助都将不胜感激。谢谢。

您使用的是
.contents()

比如$(“iframe”).contents().find()
etc

您可以通过
contentDocument
属性访问
的内容

var iFrameContent = $('myIFrame')[0].contentDocument;
$(iFrameContent).find('.mySelector').text();
我还应该指出,只有当
src
与脚本来自同一域时,才能访问
的内容。如果
src
来自任何其他域,浏览器将拒绝访问
内容

这是一个考虑因素

更新:

要绕过CORS限制,您必须为URL编写一个服务器端代理,该URL是
src
(可能非常简单)

如果我在ASP.Net中执行类似操作(作为示例),我将编写一个web服务:

  • 将实际URL作为
    字符串
    参数
  • 使用
    HTTPWebRequest
    对象(或类似对象)获取URL内容
  • 将其返回到浏览器

  • 然后您可以将
    src
    设置为“
    http://mysite.com/getURLService?url=www.lalala.com
    “并获取内容,因为内容现在由”http://mysite.com“

    嗯。。。这就是问题所在,它不是使用相同的域名,我在我的域名上这样做,我在iframe中加载另一个站点。。。就像www.lalala.com,我想得到的是DOM,不是我的。。。有可能发生这种情况吗?@LachezarRaychev:更新的答案。对于记录,您可以使用contents()获取iframe的内容。jQuery文档中有这样的描述,我自己也做过很多次。