Add missing controls property to media containers in jQuery mode #760 (#761)

This commit is contained in:
Jaifroid 2021-09-13 05:37:56 +01:00 committed by GitHub
parent 72411cef83
commit 28223d026a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1603,6 +1603,8 @@ define(['jquery', 'zimArchiveLoader', 'uiUtil', 'settingsStore','abstractFilesys
return; return;
} }
var mediaElement = /audio|video/i.test(mediaSource.tagName) ? mediaSource : mediaSource.parentElement; var mediaElement = /audio|video/i.test(mediaSource.tagName) ? mediaSource : mediaSource.parentElement;
// If the "controls" property is missing, we need to add it to ensure jQuery-only users can operate the video. See kiwix-js #760.
if (/audio|video/i.test(mediaElement.tagName) && !mediaElement.hasAttribute('controls')) mediaElement.setAttribute('controls', '');
selectedArchive.getDirEntryByPath(source).then(function(dirEntry) { selectedArchive.getDirEntryByPath(source).then(function(dirEntry) {
return selectedArchive.readBinaryFile(dirEntry, function (fileDirEntry, mediaArray) { return selectedArchive.readBinaryFile(dirEntry, function (fileDirEntry, mediaArray) {
var mimeType = mediaSource.type ? mediaSource.type : dirEntry.getMimetype(); var mimeType = mediaSource.type ? mediaSource.type : dirEntry.getMimetype();