mirror of
https://github.com/kiwix/kiwix-js.git
synced 2025-09-24 04:54:51 -04:00
Fix merge error + minor comments improvements
This commit is contained in:
parent
727c11928a
commit
a1793121ae
@ -25,32 +25,6 @@
|
|||||||
// TODO : remove requirejs if it's really useless here
|
// TODO : remove requirejs if it's really useless here
|
||||||
importScripts('./www/js/lib/require.js');
|
importScripts('./www/js/lib/require.js');
|
||||||
|
|
||||||
/**
|
|
||||||
* From https://stackoverflow.com/questions/16245767/creating-a-blob-from-a-base64-string-in-javascript
|
|
||||||
*/
|
|
||||||
function b64toBlob(b64Data, contentType, sliceSize) {
|
|
||||||
contentType = contentType || '';
|
|
||||||
sliceSize = sliceSize || 512;
|
|
||||||
|
|
||||||
var byteCharacters = atob(b64Data);
|
|
||||||
var byteArrays = [];
|
|
||||||
|
|
||||||
for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {
|
|
||||||
var slice = byteCharacters.slice(offset, offset + sliceSize);
|
|
||||||
|
|
||||||
var byteNumbers = new Array(slice.length);
|
|
||||||
for (var i = 0; i < slice.length; i++) {
|
|
||||||
byteNumbers[i] = slice.charCodeAt(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
var byteArray = new Uint8Array(byteNumbers);
|
|
||||||
|
|
||||||
byteArrays.push(byteArray);
|
|
||||||
}
|
|
||||||
|
|
||||||
var blob = new Blob(byteArrays, {type: contentType});
|
|
||||||
return blob;
|
|
||||||
}
|
|
||||||
|
|
||||||
self.addEventListener('install', function(event) {
|
self.addEventListener('install', function(event) {
|
||||||
event.waitUntil(self.skipWaiting());
|
event.waitUntil(self.skipWaiting());
|
||||||
@ -81,6 +55,15 @@ function(util, utf8) {
|
|||||||
console.log('Init message received', event.data);
|
console.log('Init message received', event.data);
|
||||||
outgoingMessagePort = event.ports[0];
|
outgoingMessagePort = event.ports[0];
|
||||||
console.log('outgoingMessagePort initialized', outgoingMessagePort);
|
console.log('outgoingMessagePort initialized', outgoingMessagePort);
|
||||||
|
self.addEventListener('fetch', fetchEventListener);
|
||||||
|
console.log('fetchEventListener enabled');
|
||||||
|
}
|
||||||
|
if (event.data.action === 'disable') {
|
||||||
|
console.log('Disable message received');
|
||||||
|
outgoingMessagePort = null;
|
||||||
|
console.log('outgoingMessagePort deleted');
|
||||||
|
self.removeEventListener('fetch', fetchEventListener);
|
||||||
|
console.log('fetchEventListener removed');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -93,13 +76,13 @@ function(util, utf8) {
|
|||||||
|
|
||||||
var regexpContentUrl = new RegExp(/\/(.)\/(.*[^\/]+)$/);
|
var regexpContentUrl = new RegExp(/\/(.)\/(.*[^\/]+)$/);
|
||||||
var regexpDummyArticle = new RegExp(/dummyArticle\.html$/);
|
var regexpDummyArticle = new RegExp(/dummyArticle\.html$/);
|
||||||
|
|
||||||
self.addEventListener('fetch', function(event) {
|
function fetchEventListener(event) {
|
||||||
console.log('ServiceWorker handling fetch event for : ' + event.request.url);
|
console.log('ServiceWorker handling fetch event for : ' + event.request.url);
|
||||||
|
|
||||||
// TODO handle the dummy article more properly
|
// TODO handle the dummy article more properly
|
||||||
if (regexpContentUrl.test(event.request.url) && !regexpDummyArticle.test(event.request.url)) {
|
if (regexpContentUrl.test(event.request.url) && !regexpDummyArticle.test(event.request.url)) {
|
||||||
|
|
||||||
console.log('Asking app.js for a content', event.request.url);
|
console.log('Asking app.js for a content', event.request.url);
|
||||||
event.respondWith(new Promise(function(resolve, reject) {
|
event.respondWith(new Promise(function(resolve, reject) {
|
||||||
var regexpResult = regexpContentUrl.exec(event.request.url);
|
var regexpResult = regexpContentUrl.exec(event.request.url);
|
||||||
@ -130,6 +113,19 @@ function(util, utf8) {
|
|||||||
else if (regexpCSS.test(titleName)) {
|
else if (regexpCSS.test(titleName)) {
|
||||||
contentType = 'image/css';
|
contentType = 'image/css';
|
||||||
}
|
}
|
||||||
|
var responseInit = {
|
||||||
|
status: 200,
|
||||||
|
statusText: 'OK',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': contentType
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
var httpResponse = new Response(';', responseInit);
|
||||||
|
|
||||||
|
// TODO : temporary before the backend actually sends a proper content
|
||||||
|
resolve(httpResponse);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Let's instanciate a new messageChannel, to allow app.s to give us the content
|
// Let's instanciate a new messageChannel, to allow app.s to give us the content
|
||||||
@ -162,6 +158,5 @@ function(util, utf8) {
|
|||||||
}
|
}
|
||||||
// If event.respondWith() isn't called because this wasn't a request that we want to handle,
|
// If event.respondWith() isn't called because this wasn't a request that we want to handle,
|
||||||
// then the default request/response behavior will automatically be used.
|
// then the default request/response behavior will automatically be used.
|
||||||
});
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
@ -902,13 +902,13 @@ define(['jquery', 'abstractBackend', 'util', 'cookies','geometry','osabstraction
|
|||||||
$("#articleContent").contents().scrollTop(0);
|
$("#articleContent").contents().scrollTop(0);
|
||||||
|
|
||||||
// Display the article inside the web page.
|
// Display the article inside the web page.
|
||||||
var ifrm = document.getElementById('articleContent');
|
var articleContentIFrame = document.getElementById('articleContent');
|
||||||
ifrm = (ifrm.contentWindow) ? ifrm.contentWindow : (ifrm.contentDocument.document) ? ifrm.contentDocument.document : ifrm.contentDocument;
|
articleContentIFrame = (articleContentIFrame.contentWindow) ? articleContentIFrame.contentWindow : (articleContentIFrame.contentDocument.document) ? articleContentIFrame.contentDocument.document : articleContentIFrame.contentDocument;
|
||||||
ifrm.document.open();
|
articleContentIFrame.document.open();
|
||||||
ifrm.document.write(htmlArticle);
|
articleContentIFrame.document.write(htmlArticle);
|
||||||
ifrm.document.close();
|
articleContentIFrame.document.close();
|
||||||
|
|
||||||
//$(document.getElementById('#articleContent').contentWindow.document).load(function () {
|
// When the IFrame content is loaded, we can parse it
|
||||||
$('iframe#articleContent').load(function() {
|
$('iframe#articleContent').load(function() {
|
||||||
// Apply Mediawiki CSS only when it's an Evopedia archive
|
// Apply Mediawiki CSS only when it's an Evopedia archive
|
||||||
if (selectedArchive.needsWikimediaCSS() === true) {
|
if (selectedArchive.needsWikimediaCSS() === true) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user