解决父页面加载iframe时,src链接中参数值过大导致加载失败的问题
来源:互联网 发布:python import 和from 编辑:程序博客网 时间:2024/06/05 19:21
有时候我们在使用iframe时,喜欢这么写
<iframe src="*******.do?param=****" id="leftFrame" name="leftFrame" frameborder="0"></iframe>
或者是使用js加载src:
var params = "?pk_id="+pk_id;
var frameLeftSrc = "<%=path %>/****/****.do"+params;
$('#leftFrame').attr("src",frameLeftSrc);
(先说明一下,此处只是以一个参数为例,实际可能会有多个参数。我们继续)
上面两种写法,都可以实现iframe的加载,我们可能会以为没问题,很正确。其实上面的写法的确是没有太大的问题,对于参数的值不长的时候,注意是参数的值的长度,不是参数的多少。比如说,我要向这个iframe中传递个参数,参数名叫pk_id,值是由主页面或者其他页面返回的一长串的主键拼接起来的值,起码3000个字符以上,这个时候我们再用这个方法访问就有问题了。因为这种url方法是通过get进行提交的,参数的长度是有限制的。
那么对于这种大数据传输的时候怎么办呢,我目前想到的就有两种(大家有什么更好的提议尽管提,相互交流,相互提高):
一、仍旧用这个种方式传递,但是参数的值不要过长,前提是不长的参数值可以通过关联查询到你想要的长的参数值,这样iframe接收到这个不长的参数值之后,你再想办法获得在iframe子页面中获得你想要的长的参数值。(可以用,但不建议,因为需要个前提)
二、在主页面采用以下方法,进行加载iframe页面即可:
主页面:<iframe src="about:blank" id="leftFrame" name="leftFrame" frameborder="0">
js:
var url="<%=path %>/pubitem/toChoosePubItemLeft.do"; //定义iframe页面的form表单的action
//定义form表单
var html1='<form id="queryForm" name="queryForm" method="post" target="_self" action="'+url+'">'+
'<input type="hidden" id="pk_id" name="pk_id" value="'+pk_id+'"/>'+ //pk_id是一个长度超过3000字符的值
'</form>';
document.getElementById('leftFrame').contentWindow.document.write(html1); //将表单写入iframe中
document.getElementById('leftFrame').contentWindow.document.getElementById('queryForm').submit();//执行iframe中表单的提交
将以上方法封装到一个方法里面,然后主页面加载的时候调用这个方法,就会将主页面的大数据传递给iframe页面了。
- 解决父页面加载iframe时,src链接中参数值过大导致加载失败的问题
- 解决父类加载iframe,src参数过大导致加载失败
- Extjs:解决<iframe>中src被加载两次第二次加载时无法获取参数值的一种方法
- 延迟加载解决offset过大导致的分页性能问题
- 解决jsp 文件加载过大的问题
- 页面加载iframe页面时,iframe页面有时无法正常加载的问题
- Android---加载图片 解决图片过大导致的内存溢出问题
- Android 图片加载导致内存占用过大的问题
- spring+mybatis 注入properties文件中属性失败导致datasource加载失败的原因和解决
- 网站如何解决图片过大加载慢的问题?
- 网站如何解决图片过大加载慢的问题?
- so 动态加载---解决sdk过大问题
- jsp页面中某个src,如某个iframe的src,应该填写什么?可以是html、jsp、servlet、action吗?是如何加载的?
- 解决安卓加载长图出现解码失败导致显示空白的问题
- asp.net 动态加载 iframe 改变iframe的src
- 解决webview加载过大的图片导致水平滑动的视觉
- 解决IE浏览器,img的src加载图片问题
- ztree一级一级加载,解决数据过大加载缓慢问题
- Android AlarmManagerr (全局定时器/闹钟)指定时长或以周期形式执行某项操作
- Jenkins进阶系列之——01使用email-ext替换Jenkins的默认邮件通知
- OC学习篇之---类目的概念和使用
- Emacs常用记录
- php注释标准
- 解决父页面加载iframe时,src链接中参数值过大导致加载失败的问题
- Python学习——leetcode(Binary Tree Level Order Traversal)
- C#中get与set方法
- 黑马程序员-多线程2
- sap 公司代码和工厂代码的关系
- OC学习篇之---类的延展
- C++primer plus第六版课后编程题答案18.1
- Jenkins进阶系列之——02email-ext邮件通知模板
- jsp链接数据库代码