2017-02-10 2 views
-1

Ich habe ein Web-Benutzer-Steuerelement, das dieses Skript am Ende enthält.Skript lädt nicht ohne Aktualisierung in require.js

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

product.js Datei und product.js zu laden ist wie dieses Ich habe eine Masterseite oder die Basisseite

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

definiert, die diese Skripte Konfiguration

<%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 enthält ist so

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' 
} 

});

Die Datei product.js wird zunächst nicht geladen, funktioniert aber nach dem manuellen Aktualisieren der Seite einwandfrei.

Jede Hilfe wird geschätzt. Ich bin sehr neu in Requiresjs oder Skriptsprache.

+0

Sie müssen mehr Informationen zur Verfügung stellen, als Sie anzeigen. Probleme, die durch das Aktualisieren behoben werden, sind normalerweise auf eine schlechte RequireJS-Konfiguration oder eine fehlerhafte Startsequenz zurückzuführen. Bitte bearbeiten Sie Ihre Frage, um Ihre RequireJS-Konfiguration anzuzeigen und Ihre 'Skript'-Elemente in der gleichen Reihenfolge wie in Ihrem HTML anzuzeigen. Die Leser sollten deutlich sehen können, wie Sie das Modul laden. Letztendlich solltest du nach einem [mcve] streben. – Louis

+0

Sie haben die von Ihnen verwendeten 'script'-Elemente immer noch nicht angezeigt. (Sie zeigen nur * eins *. Das ist nicht genug.) Sie sind entscheidend beim Starten Ihrer Anwendung. Wenn Sie sie nicht richtig einstellen, könnte dies das Problem verursachen, über das Sie berichten. – Louis

+0

hi @Louis Ich habe weitere Skripte hinzugefügt, die in der Masterseite enthalten sind, in der Benutzersteuerung gerendert wird. –

Antwort

-1

Versuchen zu schreiben:

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

Es sollte warten die damit verbundenen js (siehe die Antwort auf diese Frage: Script working only on page reload) geladen werden. Ich hoffe, das hilft!

+0

Danke, aber das funktioniert nicht, ich denke, "validate.add" Abhängigkeit wird nicht in definieren Abschnitt laden. Den Grund noch herausfinden. –

Verwandte Themen