Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.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
通过jquery/javascript访问iframe元素_Javascript_Jquery_Html_Iframe - Fatal编程技术网

通过jquery/javascript访问iframe元素

通过jquery/javascript访问iframe元素,javascript,jquery,html,iframe,Javascript,Jquery,Html,Iframe,好的,我需要做的很简单: 我在iFrame中运行了一个网页(在同一个文件夹中,本地-它永远不会从服务器运行,仅此而已) 我想从初始页面通过javascript访问它的元素 当通过Chrome javascript控制台尝试类似$('iframe').contents()的内容时,我会收到一条关于相同来源的警告,等等 有什么想法吗?这应该很容易 另外,我对不包括iframe的变通方法不感兴趣-它必须是iframe。(1) 这是因为您在iframe中加载的网站与承载iframe本身的网站位于不

好的,我需要做的很简单:

  • 我在iFrame中运行了一个网页(在同一个文件夹中,本地-它永远不会从服务器运行,仅此而已)
  • 我想从初始页面通过javascript访问它的元素
  • 当通过Chrome javascript控制台尝试类似
    $('iframe').contents()
    的内容时,我会收到一条关于相同来源的警告,等等
有什么想法吗?这应该很容易


另外,我对不包括
iframe
的变通方法不感兴趣-它必须是
iframe

(1)

这是因为您在iframe中加载的网站与承载iframe本身的网站位于不同的域中

见此:

因此,同源策略将不允许Javascript访问/操作iframe内的页面

(二)

HTML5还有一个沙箱的概念,该属性对内联框架中可能出现的内容启用了额外的限制。标记有:允许相同来源、允许脚本等

更多信息:

请检查您的iframe是否有沙盒

(三)

然后是
X-Frame-Options
HTTP响应头,可用于指示是否允许浏览器在iframe中呈现页面。网站可以通过确保其内容不嵌入其他网站,从而避免点击劫持攻击。看起来是这样的:

<meta http-equiv="X-FRAME-Options" content="SAMEORIGIN">

这里的标记可以是:deny、sameorigin或allow from

更多信息:

以及:

请检查您的页面是否有这样的标题

(最后):


如果以上所有内容都不适用于您的场景,那么一切都应该正常工作。请发布更多信息,如标记和您的javascript。

@Vegard好吧,您是否尝试过并使其正常工作?在使用
文件时,使用javascript访问
iframe
s(或任何其他资源)://
协议非常困难。这是出于安全考虑。最简单的解决方案是运行本地web服务器。每个文件都被视为各自的域。这是行不通的。仅当Op使用
文件:
协议时,请参见@MartinHansen和@lonesomeday:。如果使用了
http
,那么应该没有问题。好吧,我想你还没有读过我最初的问题。我所拥有的就是两个文件:
index.html
index2.html
位于同一个(本地)文件夹中
index2.html
正在iframe内部运行。那么,有什么不同的域名?@Dr.Kameleon:好吧,我误读了,我以为你的网站是本地的。然而,谜团仍然存在:为什么chrome会抱怨试图跨域访问?@Dr.Kameleon:我只是重新检查了一下。它只在我的电脑上工作,这是应该的!什么操作系统/浏览器组合?