如何控制iframe中的元素

cqsjchh1987 2010-06-28 03:19:56
我用 iframe 一张网页

这张页面 里面有一个 js 函数 我现在想在外面调用他 应该怎么办
...全文
274 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
jsjhj2008 2010-06-29
  • 打赏
  • 举报
回复
document.getElementById('iframe').contentWindow.my_fun();
浪尖赏花 2010-06-29
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 hookee 的回复:]
1. 父页面和 iframe页面必须同源
2. <iframe id="xxx"> 的话 document.getElementById("xxx").contentWindow.my_fun();
[/Quote]
+1
zh19881213 2010-06-29
  • 打赏
  • 举报
回复
如有问题可以联系我:
Blog:http://blog.sina.com.cn/qq411908279
http://www.cnblogs.com/izhaoyang/
QQ:411908279
Mail:Mr.lonely@vip.163.com
zh19881213 2010-06-29
  • 打赏
  • 举报
回复
在JavaScripr中,每个窗口中都有一个全局对象Window,例如我在窗口A中定义了一个变量:var i = 0,
我也可以这么引用它:window.i 或 self.i。

在客户端HTML中有一个数组对象frame,它存储的是当前页面中帧的数组,当一个窗口中有多个帧时候,我们就可以利用它引用不同的全局对象来传递参数:
window.frame[0] 或 self.frame[0]

上边的"[0]"代表的页面中出现的第一个帧,同时因为window对象在JavaScriprt作用域链的头部所以上边的可以简写成:frame[0]

像上边那样操作引用的是一个页面中的子帧,如果是子帧的子帧可以这么引用:
frame[0].frame[0]

如果是子帧想引用它的兄弟帧,可以用parent来操作,parent代表的是子帧的父帧的全局对象:
parent.frame[2]

如果一个被嵌套多层的帧想访问它的顶层窗口的帧,可以用top来操作,top代表的是顶层窗口的全局对象:
top.frame[0]

如果想引用一个子帧中的变量或函数可以这么写:
引用变量:...frame[0].o
引用函数:...frame[0].o();
但是请注意,JavaScripr是词法作用域,如果引用一个不同页面中的函数,那么那个函数将在定义它的页面中运行,而不是引用它的页面中运行。
hookee 2010-06-29
  • 打赏
  • 举报
回复
1. 父页面和 iframe页面必须同源
2. <iframe id="xxx"> 的话 document.getElementById("xxx").contentWindow.my_fun();
cqsjchh1987 2010-06-28
  • 打赏
  • 举报
回复
楼上各位 不行啊
上山打老虎2 2010-06-28
  • 打赏
  • 举报
回复
如果iframe在同一个域名下就可以实现,方法如2楼,如果不是,则实现不了,不能跨域。
hoojo 2010-06-28
  • 打赏
  • 举报
回复

window.frames['frameName'].functionName();
frameName是iframe的name;functionName是函数名称
simaa0106 2010-06-28
  • 打赏
  • 举报
回复
你可以把你想要调用的函数写到.js文件中,然后这2个网页都可以调用。
一个网页调用另外一个网页的函数,你就不怕参数什么的出问题?
xiaohuixiongya 2010-06-28
  • 打赏
  • 举报
回复
给iframe 加个属性,name或者id,获得iframe对象后,直接调用方法就可以了
然后document.getElementById(id).aa()
cqsjchh1987 2010-06-28
  • 打赏
  • 举报
回复
帮帮忙啊

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧