|
@@ -34,6 +34,22 @@
|
|
z-index: 2;
|
|
z-index: 2;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ #connection-status {
|
|
|
|
+ position: absolute;
|
|
|
|
+ top: 0;
|
|
|
|
+ left: 0;
|
|
|
|
+ width: 100%;
|
|
|
|
+ height: 100%;
|
|
|
|
+ z-index: 20;
|
|
|
|
+ padding: 30% 20% 20% 20%;
|
|
|
|
+ font-size: 18px;
|
|
|
|
+ color: #222;
|
|
|
|
+ background: #fff;
|
|
|
|
+ text-align: center;
|
|
|
|
+ box-sizing: border-box;
|
|
|
|
+ line-height: 1.4;
|
|
|
|
+ }
|
|
|
|
+
|
|
.overlay-element {
|
|
.overlay-element {
|
|
height: 34px;
|
|
height: 34px;
|
|
line-height: 34px;
|
|
line-height: 34px;
|
|
@@ -288,6 +304,8 @@
|
|
|
|
|
|
<body>
|
|
<body>
|
|
|
|
|
|
|
|
+ <div id="connection-status">Loading speaker view...</div>
|
|
|
|
+
|
|
<div id="current-slide"></div>
|
|
<div id="current-slide"></div>
|
|
<div id="upcoming-slide"><span class="overlay-element label">Upcoming</span></div>
|
|
<div id="upcoming-slide"><span class="overlay-element label">Upcoming</span></div>
|
|
<div id="speaker-controls">
|
|
<div id="speaker-controls">
|
|
@@ -340,8 +358,16 @@
|
|
|
|
|
|
setupLayout();
|
|
setupLayout();
|
|
|
|
|
|
|
|
+ var connectionStatus = document.querySelector( '#connection-status' );
|
|
|
|
+ var connectionTimeout = setTimeout( function() {
|
|
|
|
+ connectionStatus.innerHTML = 'Error connecting to main window.<br>Please try closing and reopening the speaker view.';
|
|
|
|
+ }, 5000 );
|
|
|
|
+
|
|
window.addEventListener( 'message', function( event ) {
|
|
window.addEventListener( 'message', function( event ) {
|
|
|
|
|
|
|
|
+ clearTimeout( connectionTimeout );
|
|
|
|
+ connectionStatus.style.display = 'none';
|
|
|
|
+
|
|
var data = JSON.parse( event.data );
|
|
var data = JSON.parse( event.data );
|
|
|
|
|
|
// The overview mode is only useful to the reveal.js instance
|
|
// The overview mode is only useful to the reveal.js instance
|