【问题标题】:Loading external HTML into a hybrid web app将外部 HTML 加载到混合 Web 应用程序中
【发布时间】:2013-04-08 19:44:22
【问题描述】:

我有一个要提交到 Apple AppStore 的 jQuery Mobile Web 应用程序。我需要从外部位置加载 HTML。这是我的设置:

  • 应用的页面(html、js、css)打包在提交的应用中,所以它们会驻留在手机本地
  • 一些本​​地页面应该具有在服务器端 (PHP) 生成的 HTML。我想用 AJAX 获取这些并插入到 DOM 中。我不能用 jQuery load() 或 get() 做到这一点,因为这会产生跨域请求。我正在执行一些成功运行的 AJAX/JSONP 调用(“Web 服务返回数据”)。

有什么阻止我制作将 HTML 代码放入 JSONP 调用响应的服务器端脚本?还是有别的办法?

【问题讨论】:

    标签: jquery ajax json jquery-mobile jsonp


    【解决方案1】:

    如果要找到最佳方法,基本上需要考虑这一点。

    首先,你是对的,JSONP 只是你可用的解决方案。现在一切都取决于您要加载的内容。

    解决方案 1

    您只能加载基本数据并使用 jQuery Mobile 创建页面内容。这是一种标准方式。通常你不会有那么多内容,jQM 可以非常快速地构建它,速度足够快,甚至可以在页面准备好显示之前对其进行样式设置。

    现代移动浏览器的速度已经足够快,使用此解决方案不会有任何问题。

    解决方案 2

    另一种解决方案要求在服务器端完全创建页面内容,并且您将仅使用 JSONP 来加载该数据。这是一种不好的方法,当您将手机从数据处理中解救出来时,您的数据连接将会增加负担。无论您住在哪里,当前的移动数据连接都容易出现滞后和速度变化。并且您不会在页面加载后显示您的页面内容。更不用说,即使您选择这种方式,jQM 仍然需要增强新页面标记,并且该过程比动态页面内容创建要求更高。

    这个解决方案还有另一个问题。您需要非常小心这种方法,因为有时您的服务器端生成的内容会破坏 JSONP 结构。

    结论

    为了简短起见,除非您有特殊原因选择解决方案 2,否则请始终坚持使用 解决方案 1

    【讨论】:

      猜你喜欢
      • 2013-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-26
      • 1970-01-01
      • 2023-03-11
      相关资源
      最近更新 更多