From 3fa27c054a2e66b038557801debfb39700194fd6 Mon Sep 17 00:00:00 2001 From: pacien Date: Wed, 24 Oct 2018 05:03:45 +0200 Subject: Rename project --- beamer/viewer/init.js | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 beamer/viewer/init.js (limited to 'beamer/viewer/init.js') diff --git a/beamer/viewer/init.js b/beamer/viewer/init.js new file mode 100644 index 0000000..9192834 --- /dev/null +++ b/beamer/viewer/init.js @@ -0,0 +1,67 @@ +/* + * Beamer Viewer, a web-based PDF presentation viewer + * Copyright (C) 2018 Pacien TRAN-GIRARD + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +"use strict"; + +const params = function() { + const queryDict = {}; + location.hash.substr(1).split("&").forEach(item => { + const pair = item.split("="); + queryDict[pair[0]] = pair[1]; + }); + return queryDict; +}(); + +function isController() { + return window.opener == null || window.opener.location.href != window.location.href; +} + +function initCache() { + if (!navigator.serviceWorker) return; + navigator.serviceWorker.register("appcache.js"); + + const offlineCapableIndicator = document.getElementById("offlineCapable"); + offlineCapableIndicator.style.visibility = "visible"; +} + +function checkPopupPermission() { + const popup = window.open("popup.html"); + + if (popup == null) { + const warningMessage = document.getElementById("warning"); + warningMessage.textContent = "A pop-up blocker is active. Make sure to allow pop-ups on this website."; + } +} + +function init() { + initCache(); + checkPopupPermission(); + + const viewer = new Viewer(); + + if ("file" in params) + viewer.load(params["file"]); +} + +function load(file) { + location.hash = "file=" + file; + location.reload(); +} + +if (isController()) + init(); -- cgit v1.2.3