2016-11-28 16:55:13 +00:00
|
|
|
var OS = require('../device/OS');
|
|
|
|
|
2016-11-25 02:08:33 +00:00
|
|
|
var isBooted = false;
|
|
|
|
|
2017-01-09 23:54:14 +00:00
|
|
|
var DOMContentLoaded = function (callback)
|
2016-11-25 02:08:33 +00:00
|
|
|
{
|
|
|
|
if (isBooted)
|
|
|
|
{
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (document.readyState === 'complete' || document.readyState === 'interactive')
|
|
|
|
{
|
|
|
|
isBooted = true;
|
|
|
|
|
|
|
|
callback();
|
|
|
|
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
var check = function ()
|
|
|
|
{
|
|
|
|
isBooted = true;
|
|
|
|
|
|
|
|
document.removeEventListener('deviceready', check, true);
|
|
|
|
document.removeEventListener('DOMContentLoaded', check, true);
|
|
|
|
window.removeEventListener('load', check, true);
|
|
|
|
|
|
|
|
callback();
|
|
|
|
};
|
|
|
|
|
|
|
|
if (!document.body)
|
|
|
|
{
|
|
|
|
window.setTimeout(check, 20);
|
|
|
|
}
|
2016-11-25 04:33:48 +00:00
|
|
|
else if (OS.cordova && !OS.cocoonJS)
|
|
|
|
{
|
|
|
|
// Ref. http://docs.phonegap.com/en/3.5.0/cordova_events_events.md.html#deviceready
|
|
|
|
document.addEventListener('deviceready', check, false);
|
|
|
|
}
|
2016-11-25 02:08:33 +00:00
|
|
|
else
|
|
|
|
{
|
|
|
|
document.addEventListener('DOMContentLoaded', check, true);
|
|
|
|
window.addEventListener('load', check, true);
|
|
|
|
}
|
2017-01-09 23:54:14 +00:00
|
|
|
};
|
2016-11-25 02:08:33 +00:00
|
|
|
|
|
|
|
module.exports = DOMContentLoaded;
|