Files
shaka-player/support.html
T
Jacob Trimble 5102f54120 Make Player.support synchronous and add support plugin system.
Now there is a new synchronous method Player.isBrowserSupported.  This
will detect basic support and return a boolean.  The support() method
has been renamed to probeSupport() and should only be used for
diagnostics.

Also added a plugin system to Player support testing.  Now a plugin
(e.g. offline) can add extra info to the output of probeSupport().

Closes #388
Closes #389

Change-Id: I313a41d9f123871272f1395aeb99c980df1f4bae
2016-06-02 21:57:38 +00:00

71 lines
2.2 KiB
HTML

<!DOCTYPE html>
<!--
Copyright 2016 Google Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<html>
<head>
<meta charset="utf-8">
<title>Shaka Player Browser Support Test</title>
<script src="dist/shaka-player.compiled.js"></script>
<script>
function whenLoaded(fn) {
// IE 9 fires DOMContentLoaded, and enters the "interactive"
// readyState, before document.body has been initialized, so wait
// for window.load
if (document.readyState == 'loading' ||
document.readyState == 'interactive') {
if (window.attachEvent) {
// IE8
window.attachEvent('onload', fn);
} else {
window.addEventListener('load', fn);
}
} else {
fn();
}
}
function printSupport(support) {
var userAgent = navigator.userAgent;
var formatted = userAgent + '\n' + shaka.Player.version + '\n\n';
formatted += support;
var output = document.getElementById('output');
if (output.textContent === undefined) {
// IE8 and other very old browsers don't have textContent.
output.innerText = formatted;
} else {
output.textContent = formatted;
}
}
function doTest() {
shaka.polyfill.installAll();
if (shaka.Player.isBrowserSupported()) {
shaka.Player.probeSupport().then(function(support) {
printSupport(JSON.stringify(support, null, ' '));
});
} else {
printSupport('This browser is not supported.');
}
}
whenLoaded(doTest);
</script>
</head>
<body><pre id="output"></pre></body>
</html>