Opened 15 years ago
Closed 13 years ago
#1794 closed enhancement (duplicate)
ER: Generalize for Alternate "Global" Context Object
Reported by: | kris.kowal | Owned by: | flesler |
---|---|---|---|
Priority: | trivial | Milestone: | 1.2.4 |
Component: | core | Version: | 1.2.1 |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
I've been working on an XHR module loader and have
been looking into integrating jQuery. I'm hoping to be able to use
jQuery without modification. However, since jQuery explicitly
augments the window
object instead of implicitly through the global
context object, a small change would be necessary to make this
possible.
I've attached a patch which should have no impact on the functionality of the library core as it stands, but would permit jQuery to be used as a "Chiron" module with no modification hereafter.
In its current form, jQuery adds the jQuery
and $
methods to the window
object. This patch changes 4 lines so that instead of augmenting the window
explicitly, the library implicitly adds them to the window
by adding them to this
. In global scope, this
is the same as window
. However, if someone includes a script with
modules.js
, this
is the module object. I've taken care to assure that the enclosure gets the global context object in outro.js
.
This change should have no impact on current deployments. I did a
spot check on the patched version of jquery.js and it appears to work fine for trivial cases in as both a global script and a module script. The only difference is that, as a module, the script has no impact on the window
object.
Attachments (1)
Change History (5)
Changed 15 years ago by
comment:1 Changed 15 years ago by
I like it, but it fails inside $.noConflict, as the this will be jQuery. Also the call(this) seems unnecessary.
The global scope could be saved in a variable.
comment:2 Changed 15 years ago by
Milestone: | 1.2.2 → 1.2.4 |
---|---|
Owner: | set to flesler |
Status: | new → assigned |
comment:4 Changed 13 years ago by
Resolution: | → duplicate |
---|---|
Status: | assigned → closed |
A recommended patch.