IE浏览器似乎有一个知道的问题,它不会响应具有#号的网址。 例如:https://mootools.lighthouseapp.com/projects/2706/tickets/638-request-fails-when-url-has-hash-in-ie7带#的GWT网址不适用于IE7
由于我们在基于GWT的应用程序中经常使用#,我们缺乏对想要浏览该站点的IE7用户的支持。
除了修改URL之外,是否有任何已知的用于GWT的解决方法?
IE浏览器似乎有一个知道的问题,它不会响应具有#号的网址。 例如:https://mootools.lighthouseapp.com/projects/2706/tickets/638-request-fails-when-url-has-hash-in-ie7带#的GWT网址不适用于IE7
由于我们在基于GWT的应用程序中经常使用#,我们缺乏对想要浏览该站点的IE7用户的支持。
除了修改URL之外,是否有任何已知的用于GWT的解决方法?
我想我终于明白了问题所在。 我们的GWT应用程序是为坐在一个iframe内的另一个HTML文件,设置GWT的历史支持
<iframe src="javascript:''" id="__gwt_historyFrame" tabIndex='-1' style="position:absolute;width:0;height:0;border:0"></iframe>
在外部HTML而不是GWT一个工作要做。 这个gwt脚本是为了支持没有实现onhashchange事件的浏览器,如IE6和IE7。
历史完美地工作以及在我们所有的IE版本GWT应用程序...
这票是关于XMLHttpRequest的,所以在你的XMLHttpRequest不使用哈希。它与GWT无关。
首先,提供的链接中描述的问题与您使用XMLHttpRequest查询的URL相关。在GWT应用程序中#可以出现在普通的GET请求中(当你打开页面时,就是当你开始你的GWT应用程序时)。当GWT做的XMLHttpRequest请求时,它使用了类似的网址:
http://yourserver.com/context/com.yourcompany.SomeModule/someService
这里面没有#,所以如果你有任何问题,他们没有这个问题有关。
我同意这就是为什么我用ajax标记它,但因为我们正在使用GWT,我认为可能有一个解决方法,GWT可以提供除修改URL之外。这是否意味着你不在你的GWT应用中使用“#”? – Joly 2011-04-13 18:02:34
如果您在网址中没有使用“#”,那么您如何让自己的网站符合Google的Ajax抓取方案,以便在需要#时抓取它!在网址中? http://code.google.com/web/ajaxcrawling/docs/getting-started.html。此外,Facebook等网站似乎在他们的网址中有#号,并且它似乎在IE7 – Joly 2011-04-13 18:06:23
下工作当您在浏览器中键入URL时,URL中的“位置”部分(#后面的部分)不会传递到服务器。位置(或散列,如果你喜欢的话)严格用于客户端。您的服务器不应该在请求URL中接受#。这就是为什么你没有理由将它与XmlHttpRequest一起传递。如果您想传递一些参数,请使用常规查询字符串,如下所示:?param1 = value1&... – 2011-04-19 15:56:31