为什么是javascript:history.go(-1);不在移动设备上工作?

时间:2011-02-10 18:56:34

标签: javascript android iphone browser-history

首先,一些背景知识:

我有一个应用程序向用户显示搜索页面(html表单)。填写完条件并单击“搜索”按钮后,结果将显示在条件部分下方。在结果列表中,您可以通过单击指向新页面的链接来查看单个结果的详细信息。在详细信息页面中,我已经包含了一个返回结果链接,如下所示:

<a href="#" onclick="history.go(-1);return false">Back to Results</a>

这适用于桌面上的IE8 / 9,Safari,Firefox和Chrome。但是,它不适用于我的Android手机,Android模拟器或iPhone 3G。我应该注意到,当我使用桌面上的链接时,我立即返回到我的搜索页面的缓存副本中,并且我将结果放在相同的滚动位置。在移动设备上,似乎页面从服务器重新加载,我的搜索条件消失,并且没有结果。

如果有人对从哪里开始寻找解决方案有任何想法,我会非常感激!我还可以根据需要提供更多细节。

谢谢你,问候, CN

3 个答案:

答案 0 :(得分:2)

使用:

    <a href="javascript:history.go(-1)">Back to Results</a>

即不在“onclick”但在“href”中 - 这是工作

答案 1 :(得分:1)

对于Android,您需要在网络视图中启用javascript:

webView.getSettings().setJavaScriptEnabled(true);

答案 2 :(得分:0)

您使用什么方法将过滤器传递到搜索页面? POST还是GET?

如果您正在使用POST,则必须在返回时重新提交过滤器,否则您的页面将无法过滤。

尝试切换到GET并查看是否有效。

我认为重要的区别在于它正在工作(即向您发回一页),但您的移动设备没有重新发布您的表单字段?