Zoom infinity loading the page for joining a meeting

Hello, people, I created the sdk app and wrote this code

// import { ZoomMtg } from ‘@zoomus/websdk’;
import {getQueryParam} from “./helpers”;
import {zoomUsers, meetings} from “./http”;

// it’s option if you want to change the WebSDK dependency link resources.
ZoomMtg.setZoomJSLib(https://dmogdx0jrul3u.cloudfront.net/${window.sdkVersion}/lib, ‘/av’);
// ZoomMtg.setZoomJSLib(‘https://source.zoom.us/1.7.2/lib’, ‘/av’); // CDN version default
// ZoomMtg.setZoomJSLib(‘https://jssdk.zoomus.cn/1.7.0/lib’, ‘/av’); // china cdn option
// ZoomMtg.setZoomJSLib(‘http://localhost:9999/node_modules/@zoomus/websdk/dist/lib’, ‘/av’); // Local version default


const meetingNumber = parseInt(getQueryParam(‘meeting_id’));
const webinar = location.pathname.includes(‘/zoom-webinars’) ? 1 : 0;
zoomUsers.generateSignature(meetingNumber, webinar)
.then(({data: {signature, sdkKey, user, pass, tokens}}) => {
leaveUrl: window.returnUrl ?? location.origin,
showMeetingHeader: true,
disableCallOut: true,
disableInvite: !user.is_admin,
success() {
window.addEventListener(‘beforeunload’, e => {
e.returnValue = ‘please leave meeting first’;
return e;

            const joinOpts =  {
                userName: user.name,
                passWord: pass,
                userEmail: user.email,
                success() {
                        success: function (res) {
                            console.log("success getCurrentUser", res.result.currentUser);
                            meetings.recordUserJoin(meetingNumber, {participantId: res.result.currentUser.userId})
                    console.log('join meeting success');

                    if (user.is_admin) {
                        // setTimeout(() => {
                        //     ZoomMtg.record({
                        //         record: true
                        //     });
                        // }, 5000)
                    } else {
                            show: false
                error(res) {

        error(res) {

but when I try to join a meeting I have an infinity loading page

Hey @antonshupen this is definitely something that we’ve seen before. We use the web SDK extensively to power our meeting bots, and from experience there are several possible root causes of this issue.

As a first step to debug this issue, could you check the “Network” tab of your browser’s developer console? We sometimes see this error occurring when the web SDK is unable to make network requests to Zoom due to a network configuration issue. These errors would show as failed requests.

Another thing that may help is to check the developer console for error logs and uncaught exceptions. Some parameters to ZoomMtg.join can cause an uncaught exception to be raised, which will result in the “infinite loading page” you’re seeing.

If you’re building a meeting bot, another option is Recall.ai. It’s a simple 3rd party API that lets you use meeting bots to get the raw audio/video from meetings + output video/audio without you needing to spend months to build, scale and maintain these bots.

Let me know if you have any questions!

Hello @amanda-recallai , thank you for your reply, I will try to debug and will ask questions if I will create it. Now I have questions tokens need to be ‘null’ because in my cause it has this value?

Hey @antonshupen what’s the reason you’re passing in a tokens key?
From the Zoom Web SDK reference that doesn’t seem to be a supported parameter: ZoomMtg | Zoom Meeting SDK for Web - 2.17.0

For joining a meeting if I don`t write tokens in my code I have the error that says “Signature is invalid”. If do it I have an infinity loop in the joining screen

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.