Skip to content

Commit

Permalink
Attempt to block launching of extraneous tabs
Browse files Browse the repository at this point in the history
  • Loading branch information
Jaifroid committed May 22, 2021
1 parent 6580907 commit d661f8f
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions www/js/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -1546,6 +1546,7 @@ define(['jquery', 'zimArchiveLoader', 'uiUtil', 'settingsStore','abstractFilesys
*/
function addListenersToLink(a, href) {
var uriComponent = uiUtil.removeUrlParameters(href);
var loadingContainer = false;
var contentType;
var downloadAttrValue;
// Some file types need to be downloaded rather than displayed (e.g. *.epub)
Expand Down Expand Up @@ -1583,7 +1584,7 @@ define(['jquery', 'zimArchiveLoader', 'uiUtil', 'settingsStore','abstractFilesys
});
// This detects right-click in all browsers (only if the option is enabled)
a.addEventListener('contextmenu', function (e) {
if (!params.windowOpener) return;
if (!params.windowOpener || a.launched) return;
e.preventDefault();
e.stopPropagation();
a.launched = true;
Expand All @@ -1602,7 +1603,7 @@ define(['jquery', 'zimArchiveLoader', 'uiUtil', 'settingsStore','abstractFilesys
// The main click routine (called by other events above as well)
a.addEventListener('click', function (e) {
// Prevent opening multiple windows
if (a.touched && !a.launched) return;
if (a.touched && !a.launched || loadingContainer) return;
// Restore original values for this window/tab
appstate.target = kiwixTarget;
articleWindow = thisWindow;
Expand All @@ -1629,6 +1630,7 @@ define(['jquery', 'zimArchiveLoader', 'uiUtil', 'settingsStore','abstractFilesys
// By delaying unblocking of the touch event, we prevent multiple touch events launching the same window
a.touched = false;
a.launched = false;
loadingContainer = false;
}, 1400);
});
}
Expand Down

0 comments on commit d661f8f

Please sign in to comment.