mirror of
https://github.com/kiwix/kiwix-js.git
synced 2025-09-23 04:28:30 -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
|
||||
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) {
|
||||
event.waitUntil(self.skipWaiting());
|
||||
@ -81,6 +55,15 @@ function(util, utf8) {
|
||||
console.log('Init message received', event.data);
|
||||
outgoingMessagePort = event.ports[0];
|
||||
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 regexpDummyArticle = new RegExp(/dummyArticle\.html$/);
|
||||
|
||||
self.addEventListener('fetch', function(event) {
|
||||
|
||||
function fetchEventListener(event) {
|
||||
console.log('ServiceWorker handling fetch event for : ' + event.request.url);
|
||||
|
||||
|
||||
// TODO handle the dummy article more properly
|
||||
if (regexpContentUrl.test(event.request.url) && !regexpDummyArticle.test(event.request.url)) {
|
||||
|
||||
|
||||
console.log('Asking app.js for a content', event.request.url);
|
||||
event.respondWith(new Promise(function(resolve, reject) {
|
||||
var regexpResult = regexpContentUrl.exec(event.request.url);
|
||||
@ -130,6 +113,19 @@ function(util, utf8) {
|
||||
else if (regexpCSS.test(titleName)) {
|
||||
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
|
||||
@ -162,6 +158,5 @@ function(util, utf8) {
|
||||
}
|
||||
// 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.
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
|
@ -902,13 +902,13 @@ define(['jquery', 'abstractBackend', 'util', 'cookies','geometry','osabstraction
|
||||
$("#articleContent").contents().scrollTop(0);
|
||||
|
||||
// Display the article inside the web page.
|
||||
var ifrm = document.getElementById('articleContent');
|
||||
ifrm = (ifrm.contentWindow) ? ifrm.contentWindow : (ifrm.contentDocument.document) ? ifrm.contentDocument.document : ifrm.contentDocument;
|
||||
ifrm.document.open();
|
||||
ifrm.document.write(htmlArticle);
|
||||
ifrm.document.close();
|
||||
var articleContentIFrame = document.getElementById('articleContent');
|
||||
articleContentIFrame = (articleContentIFrame.contentWindow) ? articleContentIFrame.contentWindow : (articleContentIFrame.contentDocument.document) ? articleContentIFrame.contentDocument.document : articleContentIFrame.contentDocument;
|
||||
articleContentIFrame.document.open();
|
||||
articleContentIFrame.document.write(htmlArticle);
|
||||
articleContentIFrame.document.close();
|
||||
|
||||
//$(document.getElementById('#articleContent').contentWindow.document).load(function () {
|
||||
// When the IFrame content is loaded, we can parse it
|
||||
$('iframe#articleContent').load(function() {
|
||||
// Apply Mediawiki CSS only when it's an Evopedia archive
|
||||
if (selectedArchive.needsWikimediaCSS() === true) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user