fix #1242: session.setMode() doesn't always work in IE10
makes net.loadScript to work same way as jQuery.getScript
This commit is contained in:
parent
1ba09e1a84
commit
d783a77bc9
2 changed files with 17 additions and 11 deletions
|
|
@ -33,6 +33,12 @@ define(function(require, exports, module) {
|
||||||
|
|
||||||
var XHTML_NS = "http://www.w3.org/1999/xhtml";
|
var XHTML_NS = "http://www.w3.org/1999/xhtml";
|
||||||
|
|
||||||
|
exports.getDocumentHead = function(doc) {
|
||||||
|
if (!doc)
|
||||||
|
doc = document;
|
||||||
|
return doc.head || doc.getElementsByTagName("head")[0] || doc.documentElement;
|
||||||
|
}
|
||||||
|
|
||||||
exports.createElement = function(tag, ns) {
|
exports.createElement = function(tag, ns) {
|
||||||
return document.createElementNS ?
|
return document.createElementNS ?
|
||||||
document.createElementNS(ns || XHTML_NS, tag) :
|
document.createElementNS(ns || XHTML_NS, tag) :
|
||||||
|
|
@ -134,8 +140,7 @@ exports.importCssString = function importCssString(cssText, id, doc) {
|
||||||
if (id)
|
if (id)
|
||||||
style.id = id;
|
style.id = id;
|
||||||
|
|
||||||
var head = doc.head || doc.getElementsByTagName("head")[0] || doc.documentElement;
|
exports.getDocumentHead(doc).appendChild(style);
|
||||||
head.appendChild(style);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -147,8 +152,7 @@ exports.importCssStylsheet = function(uri, doc) {
|
||||||
link.rel = 'stylesheet';
|
link.rel = 'stylesheet';
|
||||||
link.href = uri;
|
link.href = uri;
|
||||||
|
|
||||||
var head = doc.head || doc.getElementsByTagName("head")[0] || doc.documentElement;
|
exports.getDocumentHead(doc).appendChild(link);
|
||||||
head.appendChild(link);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@
|
||||||
*/
|
*/
|
||||||
define(function(require, exports, module) {
|
define(function(require, exports, module) {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
var dom = require("./dom");
|
||||||
|
|
||||||
exports.get = function (url, callback) {
|
exports.get = function (url, callback) {
|
||||||
var xhr = new XMLHttpRequest();
|
var xhr = new XMLHttpRequest();
|
||||||
|
|
@ -22,18 +23,19 @@ exports.get = function (url, callback) {
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.loadScript = function(path, callback) {
|
exports.loadScript = function(path, callback) {
|
||||||
var head = document.head || document.getElementsByTagName('head')[0];
|
var head = dom.getDocumentHead();
|
||||||
var s = document.createElement('script');
|
var s = document.createElement('script');
|
||||||
|
|
||||||
s.src = path;
|
s.src = path;
|
||||||
head.appendChild(s);
|
head.appendChild(s);
|
||||||
|
|
||||||
if (s.onload !== undefined)
|
s.onload = s.onreadystatechange = function(_, isAbort) {
|
||||||
s.onload = callback;
|
if (isAbort || !s.readyState || s.readyState == "loaded" || s.readyState == "complete") {
|
||||||
else
|
s = s.onload = s.onreadystatechange = null;
|
||||||
s.onreadystatechange = function () {
|
if (!isAbort)
|
||||||
this.readyState == 'loaded' && callback();
|
callback();
|
||||||
};
|
}
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue