169 lines
No EOL
5.2 KiB
HTML
169 lines
No EOL
5.2 KiB
HTML
<html>
|
|
<head>
|
|
<link type="text/css" rel="stylesheet" href="https://source.zoom.us/2.10.1/css/bootstrap.css" />
|
|
<link type="text/css" rel="stylesheet" href="https://source.zoom.us/2.10.1/css/react-select.css" />
|
|
<meta charset="utf-8" />
|
|
<meta http-equiv="origin-trial" content="" />
|
|
</head>
|
|
<body>
|
|
<script src="https://source.zoom.us/2.10.1/lib/vendor/react.min.js"></script>
|
|
<script src="https://source.zoom.us/2.10.1/lib/vendor/react-dom.min.js"></script>
|
|
<script src="https://source.zoom.us/2.10.1/lib/vendor/redux.min.js"></script>
|
|
<script src="https://source.zoom.us/2.10.1/lib/vendor/redux-thunk.min.js"></script>
|
|
<script src="https://source.zoom.us/2.10.1/lib/vendor/lodash.min.js"></script>
|
|
<script src="https://source.zoom.us/zoom-meeting-2.10.1.min.js"></script>
|
|
<script type="text/javascript">
|
|
var audioJoin = 0;
|
|
var videoJoin = 0;
|
|
var join = 0;
|
|
|
|
function controlUserInterface(_) {
|
|
var audioButton = document.getElementsByClassName('join-audio-container__btn')[0];
|
|
var audioContainer = audioButton ? audioButton.parentElement : null;
|
|
var chat = document.querySelector("div[feature-type='chat']");
|
|
var fullScreenButton = document.getElementsByClassName('full-screen-icon')[0];
|
|
var info = document.getElementsByClassName('meeting-info-container')[0];
|
|
var joinAudioButton = document.getElementsByClassName('join-audio-by-voip__join-btn')[0];
|
|
var joinButton = document.getElementsByClassName('joinWindowBtn')[0];
|
|
var leave = document.getElementsByClassName('footer__leave-btn-container')[0];
|
|
var more = document.querySelector("div[feature-type='more']");
|
|
var participants = document.querySelector("div[feature-type='participants']");
|
|
var reaction = document.querySelector("div[feature-type='reaction']");
|
|
var settings = document.querySelector("div[feature-type='settings']");
|
|
var sharing = document.querySelector("div[feature-type='sharing']");
|
|
var videoButton = document.getElementsByClassName('send-video-container__btn')[0];
|
|
var videoContainer = videoButton ? videoButton.parentElement : null;
|
|
|
|
if (audioContainer && !'%_AUDIO_MUTED_%') {
|
|
audioContainer.style.visibility = 'hidden';
|
|
}
|
|
|
|
if (chat && !'%_ALLOW_CHAT_%') {
|
|
chat.style.visibility = 'hidden';
|
|
}
|
|
|
|
if (fullScreenButton) {
|
|
fullScreenButton.style.visibility = 'hidden';
|
|
}
|
|
|
|
if (info) {
|
|
info.style.visibility = 'hidden';
|
|
}
|
|
|
|
if (joinAudioButton && !'%_AUDIO_MUTED_%' && audioJoin < 500) {
|
|
joinAudioButton.click();
|
|
audioJoin++;
|
|
}
|
|
|
|
if (joinButton && join < 500) {
|
|
joinButton.click();
|
|
join++;
|
|
}
|
|
|
|
if (leave) {
|
|
leave.style.visibility = 'hidden';
|
|
}
|
|
|
|
if (more) {
|
|
more.style.visibility = 'hidden';
|
|
}
|
|
|
|
if (participants) {
|
|
participants.style.visibility = 'hidden';
|
|
}
|
|
|
|
if (reaction) {
|
|
reaction.style.visibility = 'hidden';
|
|
}
|
|
|
|
if (settings) {
|
|
settings.style.visibility = 'hidden';
|
|
}
|
|
|
|
if (sharing) {
|
|
sharing.style.visibility = 'hidden';
|
|
}
|
|
|
|
if (videoButton && !'%_VIDEO_MUTED_%' && videoJoin < 500) {
|
|
videoButton.click();
|
|
videoJoin++;
|
|
}
|
|
|
|
if (videoContainer && !'%_VIDEO_MUTED_%') {
|
|
videoContainer.style.visibility = 'hidden';
|
|
}
|
|
|
|
requestAnimationFrame(controlUserInterface);
|
|
}
|
|
|
|
function startMeeting(credentials) {
|
|
var error = function (res) {
|
|
alert(`Failed to initialize meeting: ${JSON.stringify(res)}`);
|
|
};
|
|
|
|
var success = function () {
|
|
requestAnimationFrame(controlUserInterface);
|
|
|
|
ZoomMtg.join({
|
|
meetingNumber: new Number(credentials.meetingNumber),
|
|
passWord: credentials.password,
|
|
sdkKey: credentials.sdkKey,
|
|
signature: credentials.signature,
|
|
userName: credentials.userName,
|
|
error: function (res) {
|
|
alert(`Failed to join meeting: ${JSON.stringify(res)}`);
|
|
}
|
|
});
|
|
};
|
|
|
|
var params = {
|
|
audioPanelAlwaysOpen: false,
|
|
disableCallOut: true,
|
|
disableInvite: true,
|
|
disableJoinAudio: false,
|
|
disableRecord: true,
|
|
disableReport: true,
|
|
disableVoIP: false,
|
|
leaveUrl: 'doesnotexist',
|
|
isLockBottom: true,
|
|
isShowJoiningErrorDialog: true,
|
|
isSupportAV: true,
|
|
isSupportBreakout: false,
|
|
isSupportChat: '%_ALLOW_CHAT_%',
|
|
isSupportCC: '%_ALLOW_CLOSED_CAPTIONS_%',
|
|
isSupportPolling: false,
|
|
isSupportQA: false,
|
|
isSupportNonverbal: false,
|
|
screenShare: false,
|
|
sharingMode: 'both',
|
|
showMeetingHeader: true,
|
|
showPureSharingContent: false,
|
|
videoDrag: true,
|
|
videoHeader: true,
|
|
meetingInfo: ['topic', 'host', 'participant'],
|
|
error: error,
|
|
success: success
|
|
};
|
|
|
|
if (!ZoomMtg.checkSystemRequirements()) {
|
|
alert('This system does not meet the necessary requirements for Zoom!');
|
|
}
|
|
|
|
ZoomMtg.setZoomJSLib('https://source.zoom.us/2.10.1/lib', '/av');
|
|
ZoomMtg.preLoadWasm();
|
|
ZoomMtg.prepareWebSDK();
|
|
ZoomMtg.init(params);
|
|
}
|
|
|
|
function webMessageReceived(args) {
|
|
if ('credentials' in args.data) {
|
|
startMeeting(args.data.credentials);
|
|
}
|
|
}
|
|
|
|
window.addEventListener('unload', () => ZoomMtg.leaveMeeting({}));
|
|
window.chrome.webview.addEventListener('message', webMessageReceived);
|
|
window.chrome.webview.postMessage('credentials');
|
|
</script>
|
|
</body>
|
|
</html> |