bigbluebutton-Github/bigbluebutton-client/resources/prod/BigBlueButton.html

227 lines
9.9 KiB
HTML
Raw Normal View History

2012-08-01 06:49:09 +08:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
2012-08-06 06:14:01 +08:00
<head>
<title></title>
2012-08-06 06:14:01 +08:00
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css" media="screen">
html, body, #content { height:100%; width: 100%; }
.hiddenContent { display: none; }
2012-08-06 06:14:01 +08:00
body { margin:0; padding:0; overflow:hidden; }
#altContent { /* style alt content */ }
.visually-hidden {
position: absolute !important;
clip: rect(1px, 1px, 1px, 1px);
padding: 0 !important;
border: 0 !important;
height: 1px !important;
width: 1px !important;
overflow: hidden;
}
2016-01-18 23:24:13 +08:00
#deployJavaPlugin {
display : none;
}
2012-08-06 06:14:01 +08:00
</style>
2016-01-18 23:24:13 +08:00
<script src="lib/bbb_blinker.js?v=VERSION" language="javascript"></script>
2012-08-06 06:14:01 +08:00
<script type="text/javascript" src="swfobject/swfobject.js"></script>
<script type="text/javascript">
// Workaround Flash hang in Firefox 55 / 56
// See https://bugzilla.mozilla.org/show_bug.cgi?id=1360666
2017-08-05 07:01:43 +08:00
// if it's Windows
if (navigator.userAgent.indexOf("Windows") != -1
// if it's Firefox 55 or 56
&& (navigator.userAgent.indexOf("Firefox/55") != -1 || navigator.userAgent.indexOf("Firefox/56") != -1)
// if there is no 64-bit signature
&& (navigator.userAgent.indexOf("Win64; x64") == -1)) {
// resizing the content block on visibility change, to make Flash responsive again
document.addEventListener('visibilitychange', function() {
if(document.visibilityState == 'visible') {
document.getElementById("content").style.height = "99%";
setTimeout(function(){ document.getElementById("content").style.height = "100%"; }, 500);
}
});
}
</script>
2012-08-06 06:14:01 +08:00
<script type="text/javascript">
// Check for Firefox 41.0.1/2 to workaround Flash hang
// See https://bugzilla.mozilla.org/show_bug.cgi?id=1210665
var ffHangWorkaround = function() {
if (navigator.userAgent.indexOf("Windows") != -1 &&
(navigator.userAgent.indexOf("Firefox/41.0") != -1 &&
navigator.buildID > "20150928" &&
navigator.buildID < "20151015")) {
console.log("Browser appears to be Firefox 41.0.1 or .2 on Windows");
return true;
}
return false;
};
//swfobject.registerObject("BigBlueButton", "11", "expressInstall.swf");
var flashvars = {};
var params = {};
params.quality = "high";
2017-05-09 05:09:47 +08:00
params.bgcolor = "#FFFFFF";
params.allowfullscreen = "true";
params.allowfullscreeninteractive = "true";
if (ffHangWorkaround()) {
console.log("Applying Firefox Flash hang workaround");
// wmode = opaque causes button clicks to be sometimes unresponsive,
// and right-click in particular is unreliable. It disables Flash
// permission prompts on Linux (causing webcams, flash voice to be
// unusable there). But it's better than a browser hang...
params.wmode = "opaque";
} else {
params.wmode = "window";
}
params.allowscriptaccess = "true";
params.seamlesstabbing = "true";
var attributes = {};
attributes.id = "BigBlueButton";
attributes.name = "BigBlueButton";
attributes.align = "middle";
2012-11-29 01:24:13 +08:00
attributes.tabIndex = 0;
// In Chrome 56 Google started blocking Flash by default so we force the SWF to
// be loaded in the DOM rather than relying on the SWFObject code to detect
// Flash because it can't.
2017-04-27 05:13:52 +08:00
// Edge 15 also hides the fact that Flash is available so adding a hack for that too.
var browserInfo = determineBrowser();
2017-04-27 05:13:52 +08:00
if (browserInfo && ((browserInfo[0] === "Chrome" && !navigator.userAgent.match(/android/ig)) ||
(browserInfo[0] === "Edge" && browserInfo[1] >= 15))) {
// Added a sort of callback idea because when this script runs "content" doesn't exist yet
var fillContent = function(){
var content = document.getElementById("content");
if (content) {
content.innerHTML = '<object type="application/x-shockwave-flash" id="BigBlueButton" name="BigBlueButton" tabindex="0" data="BigBlueButton.swf?v=VERSION" style="position: relative; top: 0.5px;" width="100%" height="100%" align="middle"><param name="quality" value="high"><param name="bgcolor" value="#FFFFFF"><param name="allowfullscreen" value="true"><param name="allowfullscreeninteractive" value="true"><param name="wmode" value="window"><param name="allowscriptaccess" value="true"><param name="seamlesstabbing" value="true"></object>';
}
};
} else {
swfobject.embedSWF("BigBlueButton.swf?v=VERSION", "altFlash", "100%", "100%", "11.0.0", "expressInstall.swf", flashvars, params, attributes, embedCallback);
}
function embedCallback(e) {
// Work around pixel alignment bug with Chrome 21 on Mac.
// See: http://code.google.com/p/bigbluebutton/issues/detail?id=1294
var objs = $('object');
objs.each(function(i, o) {
var o = $(o);
var top = o.offset().top;
var left = o.offset().left;
var roundtop = Math.round(top);
var roundleft = Math.round(left);
o.css("position", "relative");
if (roundtop === top) {
} else {
o.css("top", roundtop - top);
}
if (roundleft === left) {
} else {
o.css("left", roundleft - left);
}
});
}
2012-08-06 06:14:01 +08:00
</script>
2015-08-14 04:14:50 +08:00
<!--<script src="lib/jquery-1.5.1.min.js?v=VERSION" language="javascript"></script>-->
2015-07-15 23:23:27 +08:00
<script src="lib/jquery-2.1.1.min.js" language="javascript"></script>
<script src="lib/bbblogger.js?v=VERSION" language="javascript"></script>
<script src="lib/bigbluebutton.js?v=VERSION" language="javascript"></script>
<script src="lib/bbb_localization.js?v=VERSION" language="javascript"></script>
2016-02-11 03:43:38 +08:00
<script src="lib/bbb_screenshare.js" language="javascript"></script>
2015-07-15 23:23:27 +08:00
<!--<script src="lib/jquery.mobile.min.js" language="javascript"></script>-->
2015-07-15 23:23:27 +08:00
<script src="lib/jquery.json-2.4.min.js" language="javascript"></script>
<script src="lib/jquery.cookie.js" language="javascript"></script>
<!--<script src="lib/jquery.dataTables.min.js" language="javascript"></script>-->
2015-07-15 23:23:27 +08:00
<script src="lib/kurento-extension.js" language="javascript"></script>
<script src="lib/kurento-utils.js" language="javascript"></script>
<script src="lib/bbb_api_bridge.js?v=VERSION" language="javascript"></script>
2016-01-18 23:24:13 +08:00
<script src="lib/sip.js?v=VERSION" language="javascript"></script>
<script src="lib/adapter.js?v=VERSION" language="javascript"></script>
<script src="lib/webrtc_stats_bridge.js?v=VERSION" language="javascript"></script>
2017-09-15 02:14:43 +08:00
<script src="lib/bowser.js?v=VERSION" language="javascript"></script>
2015-03-28 05:32:27 +08:00
<script src="lib/bbb_webrtc_bridge_sip.js?v=VERSION" language="javascript"></script>
2016-01-18 23:24:13 +08:00
<script src="lib/weburl_regex.js?v=VERSION" language="javascript"></script>
<script src="lib/jsnlog.min.js?v=VERSION" language="javascript"></script>
Merge branch 'mconf-live0.6.3' into bigbluebutton/bigbluebutton@v0.9.0-release Conflicts: bbb-api-demo/src/main/webapp/demo10_helper.jsp bbb-video/build.gradle bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/BigBlueButtonApplication.java bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/BigBlueButtonSession.java bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/meeting/messaging/red5/ConnectionInvokerService.java bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsApplication.java bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsHandler.java bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsListener.java bigbluebutton-apps/src/main/java/org/bigbluebutton/core/api/IBigBlueButtonInGW.java bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/api/ValueObjects.scala bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/users/UsersApp.scala bigbluebutton-apps/src/main/webapp/WEB-INF/red5-web.xml bigbluebutton-client/locale/bg_BG/bbbResources.properties bigbluebutton-client/locale/cs_CZ/bbbResources.properties bigbluebutton-client/locale/cy_GB/bbbResources.properties bigbluebutton-client/locale/de_DE/bbbResources.properties bigbluebutton-client/locale/en_US/bbbResources.properties bigbluebutton-client/locale/es_419/bbbResources.properties bigbluebutton-client/locale/es_ES/bbbResources.properties bigbluebutton-client/locale/et_EE/bbbResources.properties bigbluebutton-client/locale/fa_IR/bbbResources.properties bigbluebutton-client/locale/fr_CA/bbbResources.properties bigbluebutton-client/locale/fr_FR/bbbResources.properties bigbluebutton-client/locale/hu_HU/bbbResources.properties bigbluebutton-client/locale/hy_AM/bbbResources.properties bigbluebutton-client/locale/it_IT/bbbResources.properties bigbluebutton-client/locale/ms_MY/bbbResources.properties bigbluebutton-client/locale/no_NO/bbbResources.properties bigbluebutton-client/locale/pl_PL/bbbResources.properties bigbluebutton-client/locale/pt_BR/bbbResources.properties bigbluebutton-client/locale/ru_RU/bbbResources.properties bigbluebutton-client/locale/sk_SK/bbbResources.properties bigbluebutton-client/locale/tr_TR/bbbResources.properties bigbluebutton-client/locale/uk_UA/bbbResources.properties bigbluebutton-client/locale/zh_CN/bbbResources.properties bigbluebutton-client/resources/config.xml.template bigbluebutton-client/resources/prod/MconfLive.html bigbluebutton-client/resources/prod/bbb-deskshare-applet-0.9.0.jar bigbluebutton-client/resources/prod/bbb-deskshare-applet-unsigned-0.9.0.jar bigbluebutton-client/resources/prod/lib/bbb_api_bridge.js bigbluebutton-client/resources/prod/lib/bbb_webrtc_bridge_sip.js bigbluebutton-client/resources/prod/lib/deployJava.js bigbluebutton-client/src/org/bigbluebutton/main/api/ExternalApiCallbacks.as bigbluebutton-client/src/org/bigbluebutton/main/model/modules/ModulesDispatcher.as bigbluebutton-client/src/org/bigbluebutton/main/model/users/NetConnectionDelegate.as bigbluebutton-client/src/org/bigbluebutton/main/views/AudioSelectionWindow.mxml bigbluebutton-client/src/org/bigbluebutton/main/views/CameraDisplaySettings.mxml bigbluebutton-client/src/org/bigbluebutton/main/views/MainApplicationShell.mxml bigbluebutton-client/src/org/bigbluebutton/main/views/VideoHolder.mxml bigbluebutton-client/src/org/bigbluebutton/main/views/WebRTCEchoTest.mxml bigbluebutton-client/src/org/bigbluebutton/modules/chat/model/ChatConversation.as bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/ChatBox.mxml bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml bigbluebutton-client/src/org/bigbluebutton/modules/layout/views/LayoutsCombo.mxml bigbluebutton-client/src/org/bigbluebutton/modules/phone/PhoneOptions.as bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/FlashCallManager.as bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/WebRTCCallManager.as bigbluebutton-client/src/org/bigbluebutton/modules/phone/views/components/ToolbarButton.mxml bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/FileUploadWindow.mxml bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageReceiver.as bigbluebutton-client/src/org/bigbluebutton/modules/users/views/MediaItemRenderer.mxml bigbluebutton-client/src/org/bigbluebutton/modules/users/views/UsersWindow.mxml bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/business/VideoWindowItf.as bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/ToolbarButton.mxml bigbluebutton-client/src/org/bigbluebutton/modules/videodock/views/VideoDock.mxml bigbluebutton-config/web/index.html bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/ApiController.groovy bigbluebutton-web/src/java/org/bigbluebutton/api/MeetingService.java
2015-05-18 06:25:26 +08:00
<script src="lib/diff_match_patch_uncompressed.js?v=VERSION" language="javascript"></script>
<script src="lib/shared_notes.js?v=VERSION" language="javascript"></script>
<script>
window.chatLinkClicked = function(url) {
window.open(url, '_blank');
window.focus();
}
</script>
<script type="text/javascript">
window.onload = function () {
const checkRequest = $.ajax({
dataType: 'json',
url: '/html5client/check',
});
checkRequest.done(function(data) {
if (data.html5clientStatus && data.html5clientStatus === 'running') {
const iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
const android = navigator.userAgent.match(/android/ig);
const puffin = navigator.userAgent.match(/Puffin/ig);
if ((iOS || android) && !puffin) {
redirectToHtml5();
} else {
showContent();
}
if (document.getElementById('html5Section')) {
document.getElementById('html5Section').style.display = 'inherit';
}
} else {
showContent();
}
}).fail(function(data) {
showContent();
});
if (fillContent) fillContent();
};
function redirectToHtml5 () {
document.location.pathname = '/html5client/join';
}
function showContent () {
$('#content').removeClass('hiddenContent');
}
</script>
2012-08-06 06:14:01 +08:00
</head>
<body>
<div>
<audio id="remote-media" autoplay="autoplay"></audio>
</div>
<div id="accessibile-progress" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" class="visually-hidden">0 %</div>
<button id="enterFlash" type="button" class="visually-hidden" onclick="startFlashFocus();">Set focus to client</button>
<div id="content" class="hiddenContent">
<div id="altFlash" style="width:50%; margin-left: auto; margin-right: auto; font-family: sans-serif; text-align: center;">
<p style="font-weight: bold;">You need Adobe Flash installed and enabled in order to use this client.</p>
<br/>
<div style="width:50%; margin-left: auto; margin-right: auto;">
2015-03-07 06:43:51 +08:00
<a href="http://www.adobe.com/go/getflashplayer">
<img src="get_flash_player.gif" alt="Get Adobe Flash player" />
2015-03-07 06:43:51 +08:00
</a>
<div id="html5Section" style="display:none">
<p>OR</p>
<button type="button" onclick="redirectToHtml5();"><h3>Launch the HTML5 client instead</h3></button>
</div>
2015-03-07 06:43:51 +08:00
</div>
2012-11-29 01:24:13 +08:00
</div>
2012-08-06 06:14:01 +08:00
</div>
<div id="clientReady" aria-atomic="false" aria-live="polite" class="visually-hidden"></div>
</body>
</html>