2

我在 iOS 上使用 Phonegap 2.1.0。在我的 main.html 文件中,我正在使用 jQuery 加载一些 html。

但是,我正在加载的其中一个 html 文件具有自己的 Javascript,它可以以相同的方式($.ajax 等)加载其他文件。Android 中的 Phonegap 会加载这些文件并在其中执行 Javascript,但 iOS 不会。

示例:index.html:

<...>
  <body>
    <script>
      $(document).on('pageinit', function() {
        $.ajax({
          url: 'some.url',
          success: function(data, status, jqxhr) {
            $("#some-div").html(data);
          },
          error: function(jqxhr, status, error) {}
        });
      });
    </script>
  </body>
</...>

一些网址:

<script type="text/javascript">
  head.js(
    "config-file.js",

    function() {
      $.ajax({
        url: PATH + 'some-other.url', // PATH? see below
        success: function(data, status, jqxhr) {
          $("#some-div").html(data);
        },
        error: function(jqxhr, status, error) {}
      });
    });
</script>

config-file.js: var PATH = 'mypath';

some-other.url:无法在 iOS 中加载

所有加载的文件都来自同一个域。

同样,上面的代码适用于 Android。任何想法为什么iOS无法做到这一点,以及如何解决它?是head.js吗?(0.9.6)

4

1 回答 1

1

既然您使用的是 jQuery Mobile,它无论如何都依赖于 jQuery,为什么不直接使用 jQuery 来进行文件加载呢?

$.getScript('path')
   .done(function(){
       ...
});

否则你也可以试试 HeadJS v0.99 看看它是否能解决你的问题。

于 2012-11-26T09:01:41.137 回答