aboutsummaryrefslogtreecommitdiffstats
path: root/src/js/utils.js
diff options
context:
space:
mode:
authorSam Potts <sam@potts.es>2018-02-05 21:26:18 +1100
committerSam Potts <sam@potts.es>2018-02-05 21:26:18 +1100
commit1ee88cba16dbb85e7e1decb4d5e6a1191d73efad (patch)
tree7a72ecfa3e4c5eb48b599ba750e8d0fb8ecfb0a3 /src/js/utils.js
parent2691c7c9d6ab5bcc18b29f2487b2f2e3515329c8 (diff)
downloadplyr-1ee88cba16dbb85e7e1decb4d5e6a1191d73efad.tar.lz
plyr-1ee88cba16dbb85e7e1decb4d5e6a1191d73efad.tar.xz
plyr-1ee88cba16dbb85e7e1decb4d5e6a1191d73efad.zip
Testing fetch
Diffstat (limited to 'src/js/utils.js')
-rw-r--r--src/js/utils.js49
1 files changed, 44 insertions, 5 deletions
diff --git a/src/js/utils.js b/src/js/utils.js
index 7c277301..f99a69ab 100644
--- a/src/js/utils.js
+++ b/src/js/utils.js
@@ -81,6 +81,38 @@ const utils = {
};
},
+ // Fetch wrapper
+ // Using XHR to avoid issues with older browsers
+ fetch(url) {
+ return new Promise((resolve, reject) => {
+ try {
+ const request = new XMLHttpRequest();
+
+ // Check for CORS support
+ if (!('withCredentials' in request)) {
+ return;
+ }
+
+ request.addEventListener('readystatechange', () => {
+ if (request.readyState === 4 && request.status === 200) {
+ resolve(request.responseText);
+ } else if (request.status === 0) {
+ throw new Error(request.statusText);
+ }
+ });
+
+ request.addEventListener('error', () => {
+ throw new Error(request.statusText);
+ });
+
+ request.open('GET', url, true);
+ request.send();
+ } catch (e) {
+ reject(e);
+ }
+ });
+ },
+
// Load an external script
loadScript(url, callback, error) {
const current = document.querySelector(`script[src="${url}"]`);
@@ -174,9 +206,10 @@ const utils = {
}
// Get the sprite
- fetch(url)
- .then(response => (response.ok ? response.text() : null))
+ utils.fetch(url)
.then(text => {
+ console.log(text);
+
if (text === null) {
return;
}
@@ -620,9 +653,15 @@ const utils = {
},
// Time helpers
- getHours(value) { return parseInt((value / 60 / 60) % 60, 10); },
- getMinutes(value) { return parseInt((value / 60) % 60, 10); },
- getSeconds(value) { return parseInt(value % 60, 10); },
+ getHours(value) {
+ return parseInt((value / 60 / 60) % 60, 10);
+ },
+ getMinutes(value) {
+ return parseInt((value / 60) % 60, 10);
+ },
+ getSeconds(value) {
+ return parseInt(value % 60, 10);
+ },
// Format time to UI friendly string
formatTime(time = 0, displayHours = false, inverted = false) {