使用getScripts异步获取JavaScript

hgqdbh6s  于 2023-01-01  发布在  Java
关注(0)|答案(1)|浏览(80)

我在登录页面上异步获取了一些脚本:

$.when(
                $.getScript("/Scripts/View/scroll-sneak.js"),
                $.getScript("/Scripts/kendo/kendo.custom.min.js"),
                $.Deferred(function (deferred) {
                    $(deferred.resolve);
                })
        ).done(function (res1, res2) {
            if (res1[1] == "success") {

            }
            if (res2[1] == "success") {

            }
            alert('all script loaded...');
        });

我有两个疑问:
1.我如何利用浏览器缓存在这里,因为getScript总是采取新鲜的脚本.
1.我怎么能有承诺,这个脚本将提供给同一个域上的所有页面。
欢迎采用替代解决方案。

jw5wzhpr

jw5wzhpr1#

第一个问题的答案是setcache true。jquery documentation page也提到了一种方法

jQuery.cachedScript = function( url, options ) {

  // Allow user to set any option except for dataType, cache, and url
  options = $.extend( options || {}, {
    dataType: "script",
    cache: true,
    url: url
  });

  // Use $.ajax() since it is more flexible than $.getScript
  // Return the jqXHR object so we can chain callbacks
  return jQuery.ajax( options );
};

// Usage
$.cachedScript( "ajax/test.js" ).done(function( script, textStatus ) {
  console.log( textStatus );
});

关于你的第二个问题:请澄清更多,你想达到什么?

相关问题