【发布时间】:2011-09-02 15:13:57
【问题描述】:
我使用 jquery 地址设置我的 href 链接,如下所示:
<a href="#view_profile=123">view 123</a>
调用我的地址更改事件时:
$.address.change(function(e) {
alert(e.value);
});
正如我所料,我看到了来自 FF 和 Chrome 的值:
/view_profile=123
然而,IE 会返回带有前面“/”的完整 URL 路径,如下所示:
/http://localhost/#view_profile=123
知道为什么 IE 会这样做,以及修复它的最佳方法是什么?我尝试了几件事,但每次都一样。
这是我用来获取链接路径的代码:
// Setup jQuery address on some elements
$('a').address();
// Run some code on initial load
$.address.init(function(e) {
// Address details can be found in the event object
});
// Handle any URL change events
$.address.change(function(e) {
alert(e.value);
var urlAux = e.value.split('=');
var page = urlAux[0];
var arg = urlAux[1];
alert("page: " + page);
alert("arg: " + arg);
if (page == "/view_profile") {
...
}
});
【问题讨论】:
-
什么是
e,它与您的主播有什么关系? -
e 是我的事件对象,在这种情况下保存链接的值
-
解决方案将基于您获取链接值的方式。你可以发布那个代码吗?发生这种情况的原因是当您在 IE 中动态创建锚标记时,href 属性将始终包含绝对路径,无论您是否只提供了相对路径。例如,请参阅此 jsfiddle。 jsfiddle.net/xKLKZ
-
请看我上面的代码编辑
标签: jquery internet-explorer jquery-address