跨域 iframe

 

我的跨域很简单,是用 <iframe></iframe> 来做的。

为什么会用到跨域?

    因为公司业务规定,所有的操作按钮在最上边,而且是固定死的都有什么(CRUD),并且每个业务都一样,只是通过权限来限定他的操作(比如不能新增),而且通过按钮的 CRUD 来操作内容主题区域,所以每个页面都放按钮就不是很好了,所以把按钮放在一个大页面里,里面在嵌入 <iframe> 来控制显示的 jsp。而且应用环境也是比较老的,项目也是老的。

详细的解析一下 <iframe> 里面的属性,(本文名词解释:子页面指的是 iframe 返回的页面,父页面指的是包含 iframe 的页面)

    id 用来取子页面(<iframe> 里面的页面)的表单数据。

    src 规定在 iframe 中显示的文档的 URL(后台或者 jsp,我的这个是 struts2 的 .action)

    frameborder 用来规定显示框架周围的边框

    scrolling 用来规定在 iframe 中显示滚动条

    name 定位返回的 jsp 在哪个区域显示

    

 

跨域取值:var object = document.getElementById('iframeBusiness').contentWindow.document.getElementById('inputID');

给 iframe 修改路径:$("#iframeBusiness").attr({src:""});

表单提交(验证)失败,获得焦点:

document.getElementById('iframeBusiness').contentWindow.document.getElementById('inputID').focus();

document.getElementById('iframeBusiness').contentWindow.$('#inputID').focus(); // 兼容IE (我用的是 11)

(需要注意的是,如果需要 alert,则写在 alert 前面,即先获得焦点,在 alert)

记住:

1、只要是获取子页面表单元素的值,必须用跨域的方式取,不论是在哪个页面,父页面也好,子页面也好,都得这么拿。

2、父页面里取父页面,子页面里取子页面都按照正常取就行(doc&jquery)。

3、而在子页面去父页面表单元素的方法还没研究,因为暂时没用到,这种取值方式,感觉用不大到,因为你为什么要在父页面放值呢?如果真的需要,为何不直接放在子页面中呢?

4、一般都是在父页面里面那子页面的值,因为按钮在父页面,通过按钮,走后台,拿到一些值,可能会需要某一部分值来进行判断或者操作,而这些值在子页面。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值