0

我有这种使用 JQuery 的有线情况。我的网站上有三个页面。

  1. 索引.html
  2. 业务.html
  3. 操作.htmls

当我打开 business.html URL 是firefox时,它会像这样打开

http://localhost:9090/Operational/business.html

当我单击此页面上名为“operation.html”的按钮时,它会打开一个带有以下地址的新页面

http://localhost:9090/Operational/operation.html

到目前为止一切都很好。但是当我在 IE 9 中打开相同的 operation.html 页面时,URL 是不常用的:

http://localhost:9090/Operational/business.html#/Operational/Operations.html

为什么会这样?有人可以对此有所了解吗?我被卡住了:P @!!!!

添加更多细节

我正在使用一个名为 tiggzi 的开发工具。这是代码的锚定部分。

$('#j_2 [name="mobilenavbaritem4_141"]').die().live({
    click: function () {
        if (!$(this).attr('disabled')) {
            Tiggr.navigateTo('Operations', {
                transition: 'slide',
                reverse: false
            });
        }
    }
});
4

3 回答 3

2

没有看到代码,我们只能推测,但很可能页面有 JavaScript 更新内容,然后使用历史 API设置可书签的 URI。

IE9 不支持历史 API,因此它回退到使用片段标识符作为 hack。

如果有人http://localhost:9090/Operational/business.html#/Operational/Operations.html直接访问,服务器会传递 的内容,business.html然后 JavaScript 会请求Operations.html并替换它的内容。

于 2013-04-17T14:56:53.673 回答
0

那是因为你可能有onclick一个Anchor tag和工作href

如果是这种情况,请将return false;at 放在 onclick 的末尾。

于 2013-04-17T14:54:07.173 回答
0

我找到了问题和解决方案。

我正在使用 tiggzi 的一个名为 tiggr 的自定义 jquery 移动库。这导致了IE中的错误。

代码是这样的

Tiggr.navigateTo('Operations', { transition: 'slide', reverse: false })

现在我已经替换为

window.open('Operations.html', '_self', 'width=600,height=400,toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,copyhistory=yes,resizable=yes')

我知道这个调整在过渡期间有问题,但我可以继续。!

谢谢大家帮忙!!!

于 2013-04-18T06:54:00.710 回答