diff --git a/www/index.html b/www/index.html
index cae01e34..87656f30 100644
--- a/www/index.html
+++ b/www/index.html
@@ -55,10 +55,9 @@
window.requireNode = window.require;
window.require = undefined;
window.fs = requireNode('fs');
- }
- // Try to activate Service Worker
- console.log('Trying to activate Service Worker...');
- if ("serviceWorker" in navigator) {
+ } else if ("serviceWorker" in navigator) {
+ // Try to activate Service Worker
+ console.log('Trying to activate Service Worker...');
// Register the service worker
navigator.serviceWorker.register("../pwabuilder-sw.js", {
scope: "../"
diff --git a/www/js/lib/filecache.js b/www/js/lib/filecache.js
index d701ce2f..9c310efa 100644
--- a/www/js/lib/filecache.js
+++ b/www/js/lib/filecache.js
@@ -156,14 +156,33 @@ define(['q'], function(Q) {
};
var readInternal = function(file, begin, end) {
return Q.Promise(function(resolve, reject) {
- var reader = new FileReader();
- reader.readAsArrayBuffer(file.slice(begin, end));
- reader.onload = function(e) {
- resolve(new Uint8Array(e.target.result));
- };
- reader.onerror = reader.onabort = function(e) {
- reject(e);
- };
+ if (file.readMode === 'electron') {
+ // We are reading a packaged file and have to use Electron fs.read (so we don't have to pick the file)
+ fs.open(file.path, 'r', function (err, fd) {
+ if (err) {
+ console.error('Could not find file!', err);
+ reject(err);
+ } else {
+ var size = end - begin;
+ fs.read(fd, Buffer.alloc(size), 0, size, begin, function (err, bytesRead, data) {
+ if (err) reject(err);
+ else resolve(data);
+ fs.close(fd, function (err) {
+ if (err) console.log('Could not close file...', err);
+ });
+ });
+ }
+ });
+ } else {
+ var reader = new FileReader();
+ reader.readAsArrayBuffer(file.slice(begin, end));
+ reader.onload = function(e) {
+ resolve(new Uint8Array(e.target.result));
+ };
+ reader.onerror = reader.onabort = function(e) {
+ reject(e);
+ };
+ }
});
};
diff --git a/www/js/lib/util.js b/www/js/lib/util.js
index 5e3a1666..2709c6f3 100644
--- a/www/js/lib/util.js
+++ b/www/js/lib/util.js
@@ -212,22 +212,22 @@ define(['q', 'filecache'], function(q, FileCache) {
*/
function readFileSlice(file, begin, size) {
// var deferred = q.defer();
- if (file.readMode === 'electron') {
- // We are reading a packaged file and have to use Electron fs.read (so we don't have to pick the file)
- fs.open(file.path, 'r', function (err, fd) {
- if (err) {
- console.error('Could not find file!', err);
- } else {
- fs.read(fd, new Uint8Array(size), 0, size, begin, function (err, bytesRead, data) {
- if (err) deferred.reject(err);
- else deferred.resolve(data);
- fs.close(fd, function (err) {
- if (err) console.log('Could not close file...', err);
- });
- });
- }
- });
- } else {
+ // if (file.readMode === 'electron') {
+ // // We are reading a packaged file and have to use Electron fs.read (so we don't have to pick the file)
+ // fs.open(file.path, 'r', function (err, fd) {
+ // if (err) {
+ // console.error('Could not find file!', err);
+ // } else {
+ // fs.read(fd, Buffer.alloc(size), 0, size, begin, function (err, bytesRead, data) {
+ // if (err) deferred.reject(err);
+ // else deferred.resolve(data);
+ // fs.close(fd, function (err) {
+ // if (err) console.log('Could not close file...', err);
+ // });
+ // });
+ // }
+ // });
+ // } else {
// We are reading a picked file, so use vanilla JS methods
// var reader = new FileReader();
// reader.onload = function (e) {
@@ -240,7 +240,7 @@ define(['q', 'filecache'], function(q, FileCache) {
// }
// return deferred.promise;
return FileCache.read(file, begin, begin + size);
- }
+ // }
}
/**