thikbox之iframe方式和ajax方式区别

最近这个项目引入了thickbox弹出框架,用safari浏览器测试页面,弹出层不能引用到js文件,慢慢查找才发现是thickbox弹出方式引起的。
一、为了方便,我们写了一个公共js:

function checkPopup(ev, title, url, width, height) {
ev.preventDefault();
if(url.indexOf("?") == -1){
url += "?";
}
url += "&random=" + (new Date().getTime());
//以iframe方式弹出层
//url += "&random=" + (new Date().getTime()) + "&&TB_iframe=true";
//tb_show(title, url, false);
$.ajax({
url: url,
async: false,
success: function(data, status, xhr) {
if (data.indexOf("loginWrap") == -1) {
TB_WIDTH = width * 1 || 630;
TB_HEIGHT = height * 1 || 440;
tb_show(title, '', false);
$("#TB_ajaxContent").html(data);
}
else {
location.href= "";
}
}
});
}

二、区别:
iframe 方式,弹出层作为新的页面显示,浏览器读取新页面上导入的js文件,但是后续操作都在弹出层上,比如添加用户弹出层,添加完毕后,我们希望回到用户列表主层,这种方式会将主层显示在弹出层内。
ajax方式,弹出层作为主层的一部分,部分浏览器-safari,无法读取弹出层自己引用的js文件,可以将这部分文件在主层引入,需要注意的是,弹出层的js不要写$(document).ready,因为在页面ready后,弹出层还没有出现,所以写在ready里面的函数对于弹出层依然无效,对弹出层而言,全部用onClick事件触发函数。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值