Browse Source

Merge pull request #750 from ebradbury/file_protocol_push_js

push.js: add file:// urls support
pull/763/head
XhmikosR 10 years ago
parent
commit
ecf938a334
  1. 14
      js/push.js

14
js/push.js

@ -213,6 +213,8 @@
options.container = options.container || options.transition ? document.querySelector('.content') : document.body; options.container = options.container || options.transition ? document.querySelector('.content') : document.body;
var isFileProtocol = /^file:/.test(window.location.protocol);
for (key in bars) { for (key in bars) {
if (bars.hasOwnProperty(key)) { if (bars.hasOwnProperty(key)) {
options[key] = options[key] || document.querySelector(bars[key]); options[key] = options[key] || document.querySelector(bars[key]);
@ -225,6 +227,9 @@
} }
xhr = new XMLHttpRequest(); xhr = new XMLHttpRequest();
if (isFileProtocol) {
xhr.open('GET', options.url, false);
} else {
xhr.open('GET', options.url, true); xhr.open('GET', options.url, true);
xhr.setRequestHeader('X-PUSH', 'true'); xhr.setRequestHeader('X-PUSH', 'true');
@ -240,6 +245,7 @@
} }
} }
}; };
}
if (!PUSH.id) { if (!PUSH.id) {
cacheReplace({ cacheReplace({
@ -259,6 +265,14 @@
xhr.send(); xhr.send();
if (isFileProtocol) {
if (xhr.status === 0 || xhr.status === 200) {
success(xhr, options);
} else {
failure(options.url);
}
}
if (xhr.readyState && !options.ignorePush) { if (xhr.readyState && !options.ignorePush) {
cachePush(); cachePush();
} }

Loading…
Cancel
Save