跨网域iframe调整大小
如何从其他域调整iframe的大小 -编辑 向下滚动一些解决方案..或阅读如何不这样做:D 经过数小时的代码黑客攻击后,得出的结论是,iframe内部的任何内容都无法访问,即使是在我的域中呈现的滚动条也是如此。我尝试了许多技巧都无济于事。 为了节省您的时间,甚至不要走这条路,只需使用sendMessages进行跨域通信。 我使用了HTML <5的插件-进入底部找到一个好例子:) 过去几天,我一直在尝试将iframe集成到网站中。这是一个短期解决方案,而另一方正在开发和API(可能要花费数月的时间...),并且因为这是短期解决方案,所以我们确实想使用easyXDM-我可以访问其他域,但要求他们这样做非常困难按原样添加p3p标头..... 3个iframe 我找到的最接近的解决方案是3个iframe,但考虑到了chrome和safari,所以我不能使用它。 镀铬 http://css-tricks.com/examples/iFrameResize/crossdomain.php#frameId=frame-one&height=1179 测量滚动条 我找到了另一篇有关如何使用scrollheight尝试调整表单大小的文章。理论上它可以正常工作,但是我无法使用iframe滚动高度正确应用它。 document.body.scrollHeight 那显然使用了主体的高度(无法访问这些属性100%是基于客户端显示的Canvaz而非x域文档的高度) 我尝试使用jquery来获取iframe的高度 $('#frameId').Height() $('#frameId').clientHeight $('#frameId').scrollHeight 返回不同的Chrome值,即-或根本没有任何意义。问题是框架内的所有内容都被拒绝-甚至滚动条... 计算样式 但是,如果我检查并在iframe的chrome中添加元素,它就会很傻地向我显示iframe内的文档尺寸(使用jquery x-domain获取iframe.heigh-访问被拒绝),在计算出的CSS中没有任何内容 现在,chrome如何计算呢?(编辑浏览器使用其内置的渲染引擎重新渲染页面,以计算所有这些设置-但未附加在任何位置,以防止跨域欺诈。) HTML4 我阅读了HTML4.x的规范,它说那里应该有通过document.element公开的只读值,但是通过jquery拒绝了它的访问 代理框架 我采用了将网站代理回去并计算确定的方法,直到用户通过iframe登录并且代理获取登录页面而非实际内容为止。另外对于某些两次调用该页面是不可接受的 http://www.codeproject.com/KB/aspnet/asproxy.aspx http://www.johnchapman.name/aspnet-proxy-page-cross-domain-requests-from-ajax-and-javascript/ 重新呈现页面 我没有走那么远,但是有jscript引擎可以查看源代码并根据源文件重新呈现页面。但这需要破解这些jscript ..对于商业实体而言,那不是理想的情况...以及一些涉及纯Java小程序或服务器端渲染的发票 http://en.wikipedia.org/wiki/Server-side_JavaScript http://htmlunit.sourceforge.net/ <-java而不是jscript http://maxq.tigris.org/ 编辑09-2013 更新 所有这些都可以通过HTML5套接字完成。但是easyXDM对于非HTML5投诉页面来说是很好的后备。 解决方案1很好的解决方案! 使用easyXDM 在您的服务器上,您以 <html> <head> <script src="scripts/easyXDM.js" type="text/javascript"></script> <script …