4
我目前遇到了Firefox的一个问题,其中所有其他浏览器的行为都是正确的 - 甚至IE6!firefox和javascript重定向
我想要做的是重定向到一个子页面,但留下一个历史记录。据我所知,有两种重写url的方法:
- window.location =“some.url”; - 重定向到具有历史记录条目的some.url
- window.location.replace(“some.url”); - 重定向没有历史记录
所以我必须使用第一个,并在萤火虫控制台everthing测试工作正常。
现在有那种这一问题的奇特部分:相同的语句,在控制台运行良好并没有在一些jQuery的回调处理:
jQuery("#selector").bind("submit", function() {
$.getJSON("some_cool_json", function(response) {
var redirect_path = response.path;
window.location = redirect_path;
});
return false;
});
其中response_path
设置是否正确,我查它!即使重定向工作正常,但没有创建历史记录条目。
关于那个的任何想法?会很好! )
干杯
乔
听起来很奇怪,但那就是它!谢谢!将有趣的是有一个jQuery大师在线了解内部发生的事情! ;) – xijo 2010-03-08 14:34:48
jQuery做的是这样的:在添加一个参数告诉JSON服务器调用哪个函数之后,它会以您的URL为源生成一个'
使用assign():
来源
2010-03-08 12:18:53
嗨Henchman和感谢您的回答,我忘了提及我试过'assign',但它没有工作以及! – xijo 2010-03-08 12:25:48
+1'assign()'比'window.location =“http:// ...”'更正确,尽管这并不能解释为什么会发生这种情况。 – 2010-03-08 12:27:23
也许firefox使用.replace()时使用window.location =“”?! – 2010-03-08 12:45:20