1

世界中のあらゆる Web サイトで使用できるスクリプトを作成する必要があります。まず、最新バージョンの jQuery が必要です。jQuery が実行されていない場合、または古いバージョンが実行されている場合、スクリプトは最初に jQuery を追加します。2 番目のステップは、jQuery UI を追加することです。

問題は、現在のバージョンの jQuery が実行されている場合、すべて正常に動作することです。そうしないと、常にエラーが発生します。

キャッチされていない TypeError: 未定義のプロパティ 'ui' を読み取れません

誰でも私を助けることができますか?私のJSコード:

var $tx;
    //Check if a current version of jQuery is runnig.
    if (window.jQuery) {
        $tx = jQuery;
        if( jQuery().jquery.replace(".", "") < 17.1 ) {
            addjQuery();
        } else {
            addNoConflict();
        }
    } else {
        addjQuery();
    }

    // Get jQuery Version

    function addjQuery() {
        loadScript("https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js", function(){
            $tx = jQuery.noConflict(true);
            addNoConflict();
        });
    }

    // Add Script which requiers jQuery and jQuery UI

    function addNoConflict() {
        loadScript("https://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js", function(){
            var script = document.createElement("script")
                script.type = "text/javascript";
                script.src = "https://www.tariffuxx.de/services/js/txTarifrechnerScript.js";
                document.getElementsByTagName("head")[0].appendChild(script);
        });
    }

    // Load required Scripts

    function loadScript(url, callback){
        var script = document.createElement("script")
        script.type = "text/javascript";
        if (script.readyState){  //IE
            script.onreadystatechange = function(){
                if (script.readyState == "loaded" ||
                        script.readyState == "complete"){
                    script.onreadystatechange = null;
                    callback();
                }
            };
        } else {  //Others
            script.onload = function(){
                callback();
            };
        }
        script.src = url;
        document.getElementsByTagName("head")[0].appendChild(script);
    }

前もって感謝します!

4

0 に答える 0