Description
Hi, we have integrated the Zoom WebSDK into our platform and this is working well on most devices, however on certain versions of Mac there is just a black screen. We have noticed that there is a 403 warning which turns into an error on certain versions of IOS that could be causing this.
Error
The error message displayed is:
Failed to load resource: the server responded with a status of 403 ().
https://dmogdx0jrul3u.cloudfront.net/1.8.1/lib/webim.min.js.map: net::ERR_HTTP_RESPONSE_CODE_FAILURE
Which version?
https://source.zoom.us/zoom-meeting-1.8.1.min.js
Device (please complete the following information):
Devices this is happening on:
MacBook Air 2018
MacOS Catalina 10.15.13
IPad Pro 3rd generation, Software: 13.4.1
Additional context
This looks to be a warning on other browsers, but an error on those Mac devices. It works on some Macs but not on others.
Code for reference:
<script>
ZoomMtg.setZoomJSLib('https://dmogdx0jrul3u.cloudfront.net/1.8.1/lib', '/av');
ZoomMtg.preLoadWasm();
ZoomMtg.prepareJssdk();
joinWebinar();
function joinWebinar() {
var meetConfig = {
apiKey: '**********',
meetingNumber: ***,
leaveUrl: '/webinars/zoom/meeting-ended.php?id=**',
userName: 'user_name',
userEmail: 'user_email',
passWord: 'user_pw',
};
fetch("/webinars/zoom/generateSignature.php", {
method: 'POST',
body: JSON.stringify(meetConfig)
})
.then(result => result.text())
.then(response => {
//console.log(response);
ZoomMtg.init({
leaveUrl: meetConfig.leaveUrl,
isSupportAV: true,
success: function () {
ZoomMtg.join(
{
meetingNumber: meetConfig.meetingNumber,
userName: meetConfig.userName,
signature: response,
apiKey: meetConfig.apiKey,
userEmail: meetConfig.userEmail,
passWord: meetConfig.passWord,
success: function(res){
//console.log('join meeting success');
},
error: function(res) {
//console.log(res);
}
}
);
}
});
});
}
setInterval(function() {
// every 10 seconds
$.post( '/webinars/zoom/userTimeUpdate.php', { booking: 1 } );
}, 10000);
let timerVar = setInterval(countTimer, 1000);
let currentSeconds = document.getElementById("current-seconds").value > 0 ? document.getElementById("current-seconds").value : 0;
function countTimer() {
++currentSeconds;
let hour = Math.floor(currentSeconds /3600);
let minute = Math.floor((currentSeconds - hour*3600)/60);
let seconds = currentSeconds - (hour*3600 + minute*60);
if(hour < 10) { hour = "0"+hour; }
if(minute < 10) { minute = "0"+minute; }
if(seconds < 10) { seconds = "0"+seconds; }
document.getElementById("time").innerHTML = hour + ":" + minute + ":" + seconds;
}