【问题标题】:location.reload(true) in iOS "mobile web app" re-opens in safariiOS“移动网络应用程序”中的 location.reload(true) 在 Safari 中重新打开
【发布时间】:2012-11-04 20:35:14
【问题描述】:

[“移动网络应用”是指包含<meta name="apple-mobile-web-app-capable" content="yes" /> 的网页,该网页被保存为主屏幕书签/快捷方式。这在没有 Safari 框架的情况下以全屏模式运行。]

如果应用程序执行location.reload(true),iOS 会在 Safari 中重新打开页面,而不是简单地重新加载到位。我在 iOS 6 上看到了这个;我没有测试过其他版本。除了看起来很糟糕之外,separation of localStorage 意味着我的应用在重新加载后无法正常运行。

有没有办法在没有这种行为的情况下强制重新加载?

【问题讨论】:

    标签: ios dom mobile-safari reload


    【解决方案1】:

    你有没有发现location.reload()(没有'true')对你不起作用?

    'true' 只是强制一个新的 GET 请求,而不是允许页面从缓存中加载,但在我对 iOS 6 的实验中,location.reload() 无论如何都会执行另一个 GET 请求。

    如果这不起作用,我建议在您的请求中添加时间戳:

    window.location = window.location.href + '?' + new Date().getTime();

    【讨论】:

    • 感谢您的建议。我宁愿不添加更多代码来解决 Apple 的错误,我需要对其他正确实现它的浏览器使用 reload(true)。不幸的是,向 location.href 添加时间戳只会重新加载页面,而不是所有链接的资源。
    猜你喜欢
    • 1970-01-01
    • 2012-01-20
    • 2013-01-18
    • 1970-01-01
    • 2013-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多