jquery 浏览器兼容性问题
$("#product").click(function(){window.location.href("batchProduction.do");});$("#exce...
$("#product").click(function(){
window.location.href("batchProduction.do");
});
$("#excel").click(function(){
window.location.href("equipmentoutExcel.do");
});
$("#chooseTotal").click(function(){
var v=window.showModalDialog("tyshangTotalQuery.do","","dialogHeight:500px;dialogWidth:700px;status:no");
$("#merchantNo").val(v);
});
$("#chooseShop").click(function(){
var v=window.showModalDialog("tyshangShopQuery.do","","dialogHeight:500px;dialogWidth:700px;status:no");
$("#shopNo").val(v);
});
这段代码,在IE中可以运行,但到了FireFox中却不行,但都可以弹出对话框,就是不能跳转,是不是FireFox中不兼容window.location.href,应该怎么改呢,最好是两个浏览器都兼容的那种! 展开
window.location.href("batchProduction.do");
});
$("#excel").click(function(){
window.location.href("equipmentoutExcel.do");
});
$("#chooseTotal").click(function(){
var v=window.showModalDialog("tyshangTotalQuery.do","","dialogHeight:500px;dialogWidth:700px;status:no");
$("#merchantNo").val(v);
});
$("#chooseShop").click(function(){
var v=window.showModalDialog("tyshangShopQuery.do","","dialogHeight:500px;dialogWidth:700px;status:no");
$("#shopNo").val(v);
});
这段代码,在IE中可以运行,但到了FireFox中却不行,但都可以弹出对话框,就是不能跳转,是不是FireFox中不兼容window.location.href,应该怎么改呢,最好是两个浏览器都兼容的那种! 展开
4个回答
推荐于2016-12-06
展开全部
把 window.location.href("……");
改成赋值就行了
window.location.href="……";
window.location="……";
location.href="……";
都可以
window.setTimeout(function(){ location.href="……";}, 1000);
延时也可以
改成赋值就行了
window.location.href="……";
window.location="……";
location.href="……";
都可以
window.setTimeout(function(){ location.href="……";}, 1000);
延时也可以
追问
window.location.href="........";
这种方式不行,我试过了,和之前一样,未执行跳转
追答
试过了,有效的。可能是你的jquery版本问题。另外可能是FF版本问题。我用的是FF4.0.1
看我的实验代码,两个文件互相跳转,注意jquery文件名自己改。
————————————————
$(function(){
$("#but1").click(function(){
//window.location.href("jsjmp2.htm"); //IE有效,FF无效
window.location.href="jsjmp2.htm"; //IE有效,FF有效
//window.location="jsjmp2.htm"; //IE有效,FF有效
//location.href="jsjmp2.htm"; //IE有效,FF有效
//window.setTimeout(function(){ location.href="jsjmp2.htm";}, 1000); //IE有效,FF有效
//return false;
});
});
这是 jsjmp1.htm
————————————————
$(function(){
$("#but1").click(function(){
//window.location.href("jsjmp1.htm"); //IE有效,FF无效
window.location.href="jsjmp1.htm"; //IE有效,FF有效
//window.location="jsjmp1.htm"; //IE有效,FF有效
//location.href="jsjmp1.htm"; //IE有效,FF有效
//window.setTimeout(function(){ location.href="jsjmp1.htm";}, 100); //IE有效,FF有效
//return false;
});
});
这是 jsjmp2.htm
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我在之前做多语言选择时,也遇到过这个问题。
没有百度到很好的解释。
所以后来添加了setTimeout,才得以解决
具体:
setTimeout(function() {window.location.href = jumpUrl; },0) ;
让浏览器无延迟地进行跳转。
PS:我个人觉得,FF在解析window.location.href=jumpUrl时,是不是单纯地认为是一个赋值过程了?呵呵~所以增加一个时间回调,让它去执行。。。
没有百度到很好的解释。
所以后来添加了setTimeout,才得以解决
具体:
setTimeout(function() {window.location.href = jumpUrl; },0) ;
让浏览器无延迟地进行跳转。
PS:我个人觉得,FF在解析window.location.href=jumpUrl时,是不是单纯地认为是一个赋值过程了?呵呵~所以增加一个时间回调,让它去执行。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个代码在两个浏览器应该都可以运行.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
改成这个样子的window.location="batchProduction.do"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询