2011-02-16 53 views
3

问:我有一个iframe调用页面X,在页面X是一个div w/id=test。这个测试div的价值是“气泡”。在父页面上,我需要读取div的值并将其存储为javascript var。getElementById iframe

结果:在父页面上有一个document.write(iframedivvalue);输出,它将=无论iframe中div的值如何。

注:

  • 截至目前页X是在 不同的域。
  • 我不想在iframe中设置任何内容 ,只读取divs 的值。
+5

您还有如果域不匹配的同源策略被阻止。没关系,如果你只是想抓住一个价值。 – Alex 2011-02-16 21:43:49

回答

2

如果域不匹配,您仍然会被同源策略阻止。没关系,如果你只是想抓住一个价值。

2

假设的iFrame有一个分配的ID:

var iframe_div = document.getElementById('iframeid').document.getElementById('mydiv'); 
var content = iframe_div.innerHTML; 

相信应该工作。

+4

window.frames [0] .document.getElementById(“test”); (假设只有一个iframe) – scrappedcola 2011-02-16 21:44:36

3

正如Alex在上面的评论中所说的那样,您仍然被JavaScript的“同源”策略所阻止。

如果你的iframe是在同一个域,那么你可以试试这个:

document.getElementById('iframe-id').contentDocument.getElementById('canvas');