用JS实现AJAX子页面自我判断是否在框架中 - 管理猿 2018 年 11 月 08 日 |访问: 36 次

测试一个AJAX框架,部分from提交后直接返回,没有回到框架页面。直接跳转到子页面了,不能继承框架的样式,丑的飞起。
没办法修改后台源码,就只能前端想办法了。
说下原理:通过获取浏览器的URL地址,判断当前是否在AJAX框架中,如果不在框架中,重定向到框架去。
上JS源码

<script type="text/javascript">
var test = window.location.href;
var serv = window.location.host; //定义主机地址,用于下面的解析
var servl =serv.length ; //定义主机地址的长度,用于下面的解析
var url = window.location.pathname; //获取真实目录地址
var vurl = test.substring(test.indexOf(serv)+servl).trim();//分离主机后面的数据,为数据组装做准备
if (url!=='/homeAction/index.action'){ //匹配是否在框架内
    var relurl="http://"+serv+"/homeAction/index.action#"+vurl; //如果不在框架内,重新组装URL地址
    window.location.href=relurl; //重定向到框架内部
}
else{
    //还在框架里面,就没有动作需要执行了
}
</script>

标签:none

添加新评论