iframe元素中的HTML5数据属性

izk*_*izk 4 iframe html5 custom-data-attribute

可以通过iframe的内容访问iframe上设置的自定义数据属性吗?

例:

<iframe src="foo.html" data-something="123"></iframe>
Run Code Online (Sandbox Code Playgroud)

有没有办法从iframe的文档访问数据 - 某些东西的价值?

谢谢.

use*_*621 11

是的,使用该frameElement属性.

window.frameElement.getAttribute('data-something');
Run Code Online (Sandbox Code Playgroud)

演示:http://jsfiddle.net/Ehj2Q/

当然,如果iframe的内容来自不同的起源,这根本不起作用.

  • 这很棒,但是,不是同一个域名.我想iframe的文档根本无法读取它的父标签的属性. (2认同)
  • 这是正确的。两者都可以访问的唯一内容是 `src`,它反映在框架内容的 `location` 中。所以父框架可以使用哈希`foo.html#something=123` 发送数据,就像[Closure do](http://closure-library.googlecode.com/svn/docs/closure_goog_net_crossdomainrpc.js.source.html) . 对于现代浏览器,有 [postMessage](https://developer.mozilla.org/en-US/docs/DOM/window.postMessage)。但同样,这只有在父框架选择加入时才有可能。 (2认同)