4

Phonegapを使用してiPhoneアプリをプログラミングしています。ローカルファイル.html.jsファイルがあります。以下は私のindex.htmlファイルにあります:

function onBodyLoad() {
     document.addEventListener("deviceready", deviceReady, false);
}

function deviceReady() {
     $.getScript("js/order.js");
}

調査して調査しましたが、「order.js」ファイルが$.getScriptメソッドによって呼び出されない理由がわかりません。何か案は?.jsまたは、私のdeviceReady関数内でこのファイルを呼び出す他の方法はありますindex.htmlか?

4

1 に答える 1

0

私にとって、次の解決策は非常にうまく機能しました。

  1. ajax を使用し、読み込まれたスクリプトをキャッシュするカスタム jQuery 関数を追加します。

    function init()
    {
        // Create a custom cached script importer based on ajax
        jQuery.cachedScript = function(url, options)
        {
            // Allow custom options, but dataType, cache and url are always predefined
            options = $.extend(options || {},
            {
                dataType: "script",
                cache: true,
                url: url
            });
            return jQuery.ajax(options);
        };
    
        importScripts();
    }
    
  2. スクリプトをインポートし、必要に応じて and を処理donefailます。

    function importScripts()
    {
        $.cachedScript("js/events.js")
            // Wait for the script to be loaded, before adding the listener
            .done(function()
            {
                document.addEventListener("deviceready", onDeviceReady, false);
            });
        $.cachedScript("js/navigation.js");
        $.cachedScript("js/mark.js");
    }
    

それだけです :) 詳細については、こちらを参照してください。

于 2014-03-19T15:23:56.327 に答える