判断iframe是否加载完成的完美方法IE 支持 iframe 的 onload 事件,不过是隐形的,需要通过 attachEvent 来注册。 第二种方法比第一种方法更完美(采用readystatechange判断),因为 readystatechange 事件相对于 load 事件有一些潜在的问题。 这里感觉说的并不是完全准确,开始给我造成了很大的困扰。看其代码才明白,真正意义上来讲IE在创建一个新的iframe时的onload方法需要使用attachEvent来绑定,而原来就存在的iframe的onload方...
代码如下:var iframe = document.createElement("iframe"); iframe.src = "http://www.gxlcms.com"; if (!/*@cc_on!@*/0) { //if not IE iframe.onload = function(){ alert("Local iframe is now loaded."); }; } else { iframe.onreadystatechange = function(){ if (iframe.readyState == "complete"){ alert("Local iframe is now loaded."); } }; } document.body.appendChild(iframe); 最近, Nicholas C. Zakas 文章《Ifram...
代码如下://调用函数 var pagestyle = function() { var rframe = $("#mainFrame"); //ie7默认情况下会有上下滚动条,去掉上下15像素 var h = $(window).height() - rframe.offset().top - 15; rframe.height(h); } //注册加载事件 $("#mainFrame").load(pagestyle); //注册窗体改变大小事件 $(window).resize(pagestyle);
找到了下面这个js 代码如下: function SetCwinHeight(obj) { var cwin=obj; if (document.getElementById) { if (cwin && !window.opera) { if (cwin.contentDocument && cwin.contentDocument.body.offsetHeight) cwin.height = cwin.contentDocument.body.offsetHeight + 20; else if(cwin.Document && cwin.Document.body.scrollHeight) cwin.height = cwin.Document.body.scrollHeight + 10; } } } 然后…… 进入了测试过程(...
jquery有一个load()方法,使用方法如:$("#div").load("/index.html");这样就可以将index.html加载到ID为div的容器中, 用iframe也可以实现,但没有上述做法完美,参见discuz那些网站,如登陆弹出一个层,也是载入的一个页面,但我发现状态栏左边出现的是 正在打开about:blank,不知道是不是将iframe的src设为about:blank,然后在编辑iframe呢?但注意了,查看源代码的时候却看不到载入页面的时候是看不到载入的这个页面的源代码,不知道是不是...
页面域关系: 主页面a.html所属域A:www.gxlcms.com 被iframe的页面b.html所属域B:www.baidu.com,假设地址:http://www.baidu.com/b.html 实现效果: A域名下的页面a.html中通过iframe嵌入B域名下的页面b.html,由于b.html的宽度和高度是不可预知而且会变化的,所以需要a.html中的iframe自适应大小. 问题本质: js对跨域iframe访问问题,因为要控制a.html中iframe的高度和宽度就必须首先读取得到b.html的大小,A、B不属于同一个域,浏览...
大家都知道Js有同源策略,就是主域名不同嵌套的iframe不允许Js通信的。 比如我有一个网站,网站中要嵌入其网站的页面。那么我可以使用iframe引用第三方网站的地址即可。 但是问题也来的iframe的高度是固定的不能与第三方网站很好的融合,又例如第三方网站使用了瀑布流插件,要滚动加载自动计算高度,那么先说跨域:iframe主域名不同跨域方法,假如网站 A.com B.com A 里面放入一个iframe 引用了B.com,这种情况下B.com里面的Js是...
项目需求微信端添加拍品的页面有照片上传功能,上传时打开一个iframe,该页面用canvas加载用微信jssdk的选择图片接口选择的图片(这里微信会返回一个形如weixin://xxxx的localid,可直接放在img的src里进行预览),可进行放大缩小移动旋转等操作,点击确定按钮将编辑好的图片发送到服务器存成图片遇到的问题当子页面功能开发完成后,在主页面通过iframe打开子页面,无法调用微信jssdk接口中的选择图片接口,其他jssdk中的接口也无法...
其实在ajax出现之前,web应用也可以是无刷新的,那时大多通过IFrame来做到这一点。当然Ajax出现之后,人们一窝蜂地投奔Ajax 的阵营了,iFrame 就乏人问津了。但是用iFrame来实现无刷新上传文件确实一个很好的选择。解决办法是通过一个隐藏的iframe来处理上传操作我采用的是ReactJS,amazeui,nodejs 1.html target指向iframe的name,就是把上传后的操作交给iframe来处理.2.JS处理当文件选择后提交formUploadSupplyer:function(){ var ...
由于web同源策略的限制,当页面使用跨域iframe链接时,主页面与子页面是无法交互的,这对页面间的信息传递造成了不小的麻烦,经过一系列的尝试,最后我发现有以下方法可以实现: 1. 子页面url传参 简单说来就是把所有需要传递的参数加到与主页面同源的url上,将子页面重定向到该url,然后主页面通过iframe的src获取这些参数 过程非常复杂,不建议使用这种方法 2. postMessage() postMesssage()是HTML5提供的一个基于事件的消息传输A...
由于web同源策略的限制,当页面使用跨域iframe链接时,主页面与子页面是无法交互的,这对页面间的信息传递造成了不小的麻烦,经过一系列的尝试,最后我发现有以下方法可以实现:1. 子页面url传参简单说来就是把所有需要传递的参数加到与主页面同源的url上,将子页面重定向到该url,然后主页面通过iframe的src获取这些参数过程非常复杂,不建议使用这种方法2. postMessage()postMesssage()是HTML5提供的一个基于事件的消息传输API,可...
也应该是框架的一种形式,它与不同的是,iframe可以嵌在网页中的任意部分。 今天遇到一个问题:怎样实现点击一个按钮,在当前的页面上新增加一个小窗口,展示一个图片信息?如下图所示:点击之前:单击之后:分析:要使新增的小窗口不影响父页面,我们这里采用iframe的框架的技术。【也应该是框架的一种形式,它与不同的是,iframe可以嵌在网页中的任意部分。】实现是思路:(1)在按钮的上添加一个点击的事件,在点击后加入一个if...
代码如下: /* Boxy属性不变 新增 w、h、src 属性 qBox.Close();关闭当前窗口 qBox.iFSrc({}); 改变当前窗口的属性及指向 Boxy属性不变 新增 w、h、src 属性 */ //Boxy插件的扩展 jQuery.fn.qbox=function(options){ var node = this.get(0).nodeName.toLowerCase(); var self=this; if (node == a) { $(this).attr(onclick,).unbind(click).click(function(){return false;}); options = $.extend(options||{},{src:this.get(0)...
个人推荐用jQuery实现,代码简洁,扩展性强. jQuery部分: 代码如下: function gotourl(url_a, url_b) { $(#ifr_a).get(0).src = url_a; $(#ifr_b).get(0).src = url_b; } html调用: 点我下面两个iframe内容都会变 通过js判断iframe的id,然后给不同id赋不同的src值也可以实现,但代码相对复杂一点. 原文发布于Mr.Think的个人博客: http://mrthink.net/javascript-jquery-twourl-twoifram/
以前防止页面被iframe使用的是这段代码 代码如下: if (top.location !== self.location) { top.location=self.location; } 但是在Firefox里你会发现页面会一直不停的在刷. 页面根本没法用. 这里是因为firefox windows.top如果没有那么就是空,在IE下windows.top就是本窗口 页面不断的刷新 不断的运行这段js代码这就造成了一个死循环,也是为什么页面一直在刷新. 所以我更改了方式,使用下面这段代码 兼容firefox 代码如下: if(w...