#3004 closed enhancement (wontfix)
cache option for getScript
Reported by: | eitanpo | Owned by: | |
---|---|---|---|
Priority: | low | Milestone: | 1.5 |
Component: | ajax | Version: | 1.2.6 |
Keywords: | getScript cache | Cc: | |
Blocked by: | Blocking: |
Description
now, in order to enable cache for loading scripts from another domain you have to change global ajax setting with ajaxSetup, and then to restore the original ajax settings.
cache option or options attribute for getScript can make life easier. example for this is using hosted javascript libraries like YUI.
Attachments (1)
Change History (7)
comment:1 Changed 15 years ago by
comment:2 Changed 15 years ago by
You are right, but this will make code less readable. Ease of use is an important reason too. My guess is that why getScript function is present in jQuery.
Why not code like this:
$.getScript("http://domain.com/script.js", {cache: true});
or
$.getScript("http://domain.com/script.js", true);
I think that .getScript is the only exception out of other .ajax wrappers to have cache control.
comment:3 Changed 14 years ago by
The attached patch adds an options parameter to jQuery.get() and jQuery.post(), which is merged in with the defaults. This allows us to add an options parameter to the getScript() function, so we could essentially pass in {cache:true}, and it would merge it into the jQuery.ajax() call. http://dev.jquery.com/attachment/ticket/3004/getpostoptions.patch
comment:5 Changed 12 years ago by
Keywords: | needsreview added |
---|---|
Milestone: | 1.3 → 1.5 |
This looks like it's going to be a wontfix. Marking for further review.
comment:7 Changed 12 years ago by
Keywords: | needsreview removed |
---|---|
Resolution: | → wontfix |
Status: | new → closed |
This is trivially easy to do by appending a random number to the url, or use $.ajax. $.getScript is meant to be simple and these changes would just complicate it.
Correct me if I'm wrong, but I thought .get, .post, .getJSON, .getScript, and .load were only shortcuts and simplified versions that wrap the more complex functionalities of .ajax().
If you want to have a cache option, then you should probably use $.ajax(options), and set the cache setting accordingly. It's not that hard to master and it does a lot more than the simplified versions...
i.e.:
This will have the same effect as if you were using $.getScript() but you have some extra control.