Der Versuch, JavaScript-Plugins auf einer _Layout.cshtml
-Seite dynamisch zu laden - aus einer JavaScript-Datei (aus einer Bootstrap-Vorlage). Ich habe die PLUGINS_PATH
im Skript wie folgt geändert:ASP.NET MVC Routing - Laden von .js scrips dynamisch
// Declared at top of script
var PLUGINS_PATH = './Content/plugins/';
// ... for each plugin script - e.g
jQuery().themeLoadPlugin(["jPanelMenu/jquery.jpanelmenu.min.js", "jRespond/js/jRespond.js"], [], initjPMenu);
// Load plugin
// --------------------------------
themeLoadPlugin: function(js, css, callback, placement) {
jQuery.ajaxPrefilter("script", function(s) {
s.crossDomain = true;
});
if (js) {
var progress = 0;
var internalCallback = function() {
// Complete
if (++progress === js.length) {
$.each(css, function(index, value) {
jQuery('head').prepend('<link href="' + PLUGINS_PATH + value + '" rel="stylesheet" type="text/css" />');
});
if (callback && typeof(callback) === "function") {
callback();
}
}
};
if (placement === undefined) {
$.each(js, function(index, value) {
$.getScript(PLUGINS_PATH + value, internalCallback);
});
}
else if (placement === 'append') {
$.each(js, function(index, value) {
jQuery('script[src*="bootstrap.min.js"]').after('<script src="' + PLUGINS_PATH + value + '"></script>');
internalCallback();
});
}
}
}
Die oben genannten Arbeiten für die Indexseite - z Wurzel der Anwendung - http://localhost:1234/
- aber wenn ich dann, wenn ich zu einer anderen Seite browse dann die Links offensichtlich wie Sie suchen - z. auf der Kontaktseite: http://localhost:1234/Home/Content/plugins/jPanelMenu/jquery.jpanelmenu.min.js
Wenn ich den Plugins Pfad zu ändern: PLUGINS_PATH = '~/Content/plugins/';
dann brechen sie auf jeder Seite mit dem folgenden:
http://localhost:1234/~/Content/plugins/jPanelMenu/jquery.jpanelmenu.min.js
hoffte, ich habe das Problem angemessen, jede mögliche Hilfe geschätzt erklärt.