移动 Safari 与主屏幕 Web 应用程序

发布于 2024-11-08 06:50:12 字数 1150 浏览 0 评论 0 原文

我正在为 iOS 开发一个 web 应用程序,我注意到在移动 safari 上运行和从主屏幕运行之间存在一些奇怪的事情。

是否有任何资源可以提供在两种模式之间切换的通用接口?

如果没有,是否有任何资源详细说明两种模式之间的所有差异和陷阱?

我遇到过:

长轮询有点奇怪。请参阅此示例

window.innerWidth & window.innerHeight 不一致。

  • Mobile Safari - 垂直方向按预期工作,水平方向则不然
    • 垂直
      • 宽度 - 768
      • 身高 - 946
    • 水平
      • 宽度 - 769??
      • 身高 - 518??
  • 主屏幕上的网络应用程序 - 这些总是有意义的。
    • 垂直
      • 宽度 - 768
      • 高度 - 1004
    • 水平
      • 宽度 - 1024
      • 身高 - 748

其他东西:

我发现这个到有趣。

这个问题也揭示了一些奇怪的行为。

I am developing a webapp for iOS, and I've noticed some weird things between running on mobile safari and running from the homescreen.

Are there any resources that either provide a common interface for going between the modes?

If not, are there any resources detailing all of the differences and gotchas between the two modes?

Things I've run into:

Long-polling is kinda weird. See this example.

window.innerWidth & window.innerHeight are inconsistent.

  • Mobile Safari- vertical orientation works as expected, horizontal doesn't
    • Vertical
      • width- 768
      • height- 946
    • Horizontal
      • width- 769??
      • height- 518??
  • Web App on Homescreen- These always make sense.
    • Vertical
      • width- 768
      • height- 1004
    • Horizontal
      • width- 1024
      • height- 748

Additional stuff:

I found this and this to be interesting.

This question also sheds some light on weird behaviors.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

绮筵 2024-11-15 06:50:12

我认为 Apple 尚未公开记录 iOS 中全屏 Web 应用程序的属性,因此您发现的任何内容都可能是轶事,因此在未来版本中不够可靠。

您可能会更幸运地构建一个只有 UIWebView 渲染您的 Web 应用程序的应用程序。 iOS 应用程序的视图模式定义明确且记录良好,并且应用程序可以提供您将来可能需要的其他功能(例如本地通知、后台执行、自定义 URL 处理程序)。

I don't think Apple has publicly documented the attributes of the full screen web apps in iOS, so anything you find may be anecdotal, and therefore not reliable enough to depend on in future releases.

You may have better luck building an application which has just a UIWebView rendering your web app. The view modes for iOS applications are clearly defined and well documented, and the application can provide other features you may need in the future (such as local notifications, background execution, custom URL handlers).

静赏你的温柔 2024-11-15 06:50:12

当使用

你会得到你的 window.innerWidth !

当使用

你会得到>>>横向:1024 x 690 &肖像:768 x 946(“野生动物园”模式)

When using

<meta name="viewport" content="user-scalable = no, width = device-width" />

you will get your window.innerWidth's!!!

When using

<meta name="viewport" content="initial-scale = 1.0, maximum-scale = 1.0, user-scalable = no, width = device-width" />

you will get >> landscape: 1024 x 690 & portrait: 768 x 946 ('safari' mode)

一枫情书 2024-11-15 06:50:12

如果您正在构建移动应用程序,您可能需要看看 Sencha Touch这消除了管理移动设备细微差别的麻烦。

然后你就可以在它旁边构建你的常规网络应用程序。

If you're building an app for mobile, you may want to take a look at Sencha Touch which takes away the headache of managing the nuances in mobile devices.

Then you can just build your regular web app beside it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文