2017-02-10 9 views
-1

私は最後にこのスクリプトを含むウェブユーザコントロールを持っています。require.jsでリフレッシュせずに読み込まれないスクリプト

<script> 
    require(['modules/product'], function (_s) { 
     new _s(); 
    }); 
</script> 

product.jsファイルとproduct.jsをロードするためには、私は、マスターページまたはこれらのスクリプト

<%if (Sitecore.Context.PageMode.IsNormal){ %> 
<script type="text/javascript" src="/js/vendor/modernizr.js"></script> 
<script type="text/javascript" src="/js/vendor/require.js"></script> 
<script type="text/javascript" src="/js/main.js"></script> 
<%} else { %> 
<script> 
    function require() { }; 
    function define() { }; 
</script> 

RequireJSの構成を含むベースページを持っているこの

define(["jquery", "async!https://maps.googleapis.com/maps/api/js?key=something", "validate", "validate.add"],function ($) {--some code---} 

のように定義されていますこのようなもの

require.config({ 
baseUrl: "/js", 
waitSeconds: 0, 
paths: { 
    async: 'vendor/async', 
    jquery: 'vendor/jquery-1.11.3.min', 
    'jquery.ui': 'vendor/jquery-ui', 
    dropdown: 'vendor/dropdown', 
    sharebutton: 'vendor/buttons', 
    tooltip: 'vendor/tooltip', 
    easyzoom: 'vendor/easyzoom', 
    validate: 'vendor/jquery.validate.min', 
    'validate.add': 'vendor/additional-methods', 
    swipe: 'vendor/jquery.touchSwipe', 
    browser: 'modules/browser', 
    moment: 'vendor/moment' 
} 

});

しかし、このproduct.jsファイルは最初は読み込まれていませんが、手動でページを更新した後に正常に動作します。

ご協力いただければ幸いです。私はrequirejsやスクリプト言語のために非常に新しいです。

+0

あなたが表示するものより多くの情報を提供する必要があります。リフレッシュによって解決される問題は、通常、悪いRequireJS構成または不適切な起動シーケンスに起因します。あなたの質問を編集してRequireJS設定を表示し、あなたのHTMLと同じ順序で 'script'要素を表示してください。読者は、モジュールの読み込みをどのように開始するかをはっきりと把握できるはずです。最終的に、[mcve]を目指すべきです。 – Louis

+0

まだ 'script'要素が表示されていません。 (あなたは* one *のみを表示していますが、これで十分ではありません)。アプリケーションを起動する上で非常に重要です。正しく設定していないと、報告している問題が発生する可能性があります。 – Louis

+0

こんにちは@Louis私はユーザーコントロールがレンダリングされるマスターページに含まれているスクリプトを追加しました。 –

答えて

-1

は書くようにしてください:

<script> 
    $(window).load(function() { 
     require(['modules/product'], function (_s) { 
      new _s(); 
     }); 
    } 
</script> 

それがロードされる関連のjsのを待つ必要があります(この質問への回答を参照してください。Script working only on page reloadを)。 私はこれが助けてくれることを願っています!

+0

ありがとう、しかし、これは動作していない、私は "validate.add"の依存関係は定義セクションで読み込まれていないと思う。まだ理由を考えている。 –

関連する問題