28 lines
1 KiB
JavaScript
28 lines
1 KiB
JavaScript
|
dojo.provide("dijit._base.window");
|
||
|
|
||
|
// TODO: remove this in 2.0, it's not used anymore, or at least not internally
|
||
|
|
||
|
dijit.getDocumentWindow = function(doc){
|
||
|
// summary:
|
||
|
// Get window object associated with document doc
|
||
|
|
||
|
// In some IE versions (at least 6.0), document.parentWindow does not return a
|
||
|
// reference to the real window object (maybe a copy), so we must fix it as well
|
||
|
// We use IE specific execScript to attach the real window reference to
|
||
|
// document._parentWindow for later use
|
||
|
if(dojo.isIE && window !== document.parentWindow && !doc._parentWindow){
|
||
|
/*
|
||
|
In IE 6, only the variable "window" can be used to connect events (others
|
||
|
may be only copies).
|
||
|
*/
|
||
|
doc.parentWindow.execScript("document._parentWindow = window;", "Javascript");
|
||
|
//to prevent memory leak, unset it after use
|
||
|
//another possibility is to add an onUnload handler which seems overkill to me (liucougar)
|
||
|
var win = doc._parentWindow;
|
||
|
doc._parentWindow = null;
|
||
|
return win; // Window
|
||
|
}
|
||
|
|
||
|
return doc._parentWindow || doc.parentWindow || doc.defaultView; // Window
|
||
|
}
|