js iframe,js触发所在iframe初始化
各位老铁们,大家好,今天由我来为大家分享js iframe,以及js触发所在iframe初始化的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!
javascript 能否调用到iframe标签包含页面中的函数
可以的。只要两个页面有一定的关系,无论是通过iframe,还是frameset,甚至是window.open,超链接等等方式,都可以让两个页面之间的js互相调用。注意,是互相调用,也就是说,两者谁都有办法调用另一个的js代码。
当然有前提,前提就是两个页面都是你自己的页面,是在同一个域下面的,否则牵扯跨域问题,就比较麻烦了。
互相调用的关键是获取另一方的window对象。通常页面中window对象就是window,直接使用。但通过某种关系的另一个页面的window就需要通过别的方式获取了。以iframe为例,跨域通过普通节点获取的方式得到iframe节点,比如iframe节点id为ifr,则:
varifr=document.getElementById('ifr');
varwin=ifr.window||ifr.contentWindow;//考虑兼容性问题这里获取到的win,就对应普通页面的window。要操作这个框架页面,就可以通过这个win进行操作了。比如获取框架页面的文档对象win.document,到了这一步,剩下的就和普通页面没有区别了。
要获取通过window.open打开的页面的window引用就更简单了:
varwin=window.open(url);//这个函数还有其它知识点,请自行搜索而要在window.open打开的页面中获取父页面的window,也就是打开该页面的页面的window,也很简单:
varwin=window.opener;//表示打开本window的那个页面的window
获取到另一个页面的window引用后,实际上另一个页面的很多控制权就拿到了。你可以通过获取到的window随意修改另一个页面了。比如要调用iframe中的a函数,就可以这样:
varifr=document.getElementById('ifr');
varwin=ifr.window||ifr.contentWindow;
win.a();//调用iframe中的a函数
如何向iframe中写入js代码让js在iframe中执行
1、首先,我们新建一个网页,用于进行演示,网页代码和效果如下图所示。
2、然后,为<button>按钮添加onclick事件,响应函数名的addiframeclick()。
3、再添加javascript脚本框架,并写出addiframeclick()函数的声明。
4、addiframeclick()函数的作用是为iframe框架添加onclick()事件。
5、当点击button按钮后,会给iframe框架添加onclick()事件,点onclick()事件的响应效果是,点击iframe框架弹出信息提示。
6、如果你想要让iframe框架添加的onclick()事件内容更加丰富,能够执行更多的动作,则只需在onclick()=function(){};的大括号内添加相应的代码即可。
js防止页面被iframe调用的方法
本文实例讲述了js防止页面被iframe调用的方法。分享给大家供大家参考。具体实现方法如下:
一、问题
有时候我们发会现自己的网站页面被别人调用并且一模一样,这个其实就是简单的iframe调用了,下面我来给大家介绍js防止页面iframe调用的方法总结吧,有需要的朋友可参考
二、解决方法:
防止自己的网页被人框架:
top.location.href
最上层的地址
windows.location.href自己的地址
self指代当前窗口对象,属于window最上层的对象;
location.href
指的是某window对象的URL地址.
self.location.href指当前窗口的URL地址,去掉self默认为当前窗口的URL地址
复制代码
代码如下:<script
type="text/javascript">
if(top.location
!=
self.location){
top.location
=
self.location;//防止页面被框架包含
}
</script>
这些方法都可行,但不是太可靠。
复制代码
代码如下:<script
language="javascript">
if(
top.location
!=
self.location)
top.location.href=self.location.href;
</script>
或
复制代码
代码如下:<script
language="javascript">
if
(top.location
!=
location)
top.location.href
=
location.href;
</script>
或
复制代码
代码如下:<script
language="javascript">
if
(top.location
!=
self.location)
{top.location=self.location;}
</script>
或
复制代码
代码如下:<script
language="javascript">
if
(top.frames.length!=0)
top.location=self.document.location;
</script>
希望本文所述对大家的javascript程序设计有所帮助。
文章到此结束,如果本次分享的js iframe和js触发所在iframe初始化的问题解决了您的问题,那么我们由衷的感到高兴!