samples/webassembly/index.html

95 строки
3.4 KiB
HTML

<!doctype html>
<!--
Copyright 2018 Google Inc. All Rights Reserved.
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 lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="description" content="Sample illustrating the use of WebAssembly">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>WebAssembly Sample</title>
<!-- Add to homescreen for Chrome on Android -->
<meta name="mobile-web-app-capable" content="yes">
<link rel="icon" sizes="192x192" href="../images/touch/chrome-touch-icon-192x192.png">
<!-- Add to homescreen for Safari on iOS -->
<meta name="apple-mobile-web-app-title" content="WebAssembly Sample">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="apple-touch-icon-precomposed" href="../images/apple-touch-icon-precomposed.png">
<!-- Tile icon for Win8 (144x144 + tile color) -->
<meta name="msapplication-TileImage" content="../images/touch/ms-touch-icon-144x144-precomposed.png">
<meta name="msapplication-TileColor" content="#3372DF">
<link rel="icon" href="../images/favicon.ico">
<link rel="stylesheet" href="../styles/main.css">
</head>
<body>
<h1>Web Assembly</h1>
<p>Available in <a href="https://www.chromestatus.com/features/5453022515691520">Chrome 57+</a></p>
<!-- // [START code-block] -->
<p>
WebAssembly allows you to compile code from other languages like C or C++
to run on the web at native speed.
</p>
<div class="output">
<pre id="log"></pre>
</div>
<!-- // [START code-block] -->
<script src="fib.js"></script>
<script>
"use strict";
function log() {
document.querySelector('#log').textContent += Array.prototype.join.call(arguments, '') + '\n';
}
// Wait for the Wasm module to be loaded
Module.onRuntimeInitialized = _ => {
// Create JS function wrapper for the exported C function. The parameters
// are function name, return type and argument types, respectively.
const fib = Module.cwrap('fib', 'number', ['number']);
// Call it like any other JS function
log(`12th Fibonacci number is ${fib(12)}`);
};
</script>
<!-- // [END code-block] -->
<script>
/* jshint ignore:start */
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-53563471-1', 'auto');
ga('send', 'pageview');
/* jshint ignore:end */
</script>
<!-- Built with love using Web Starter Kit -->
</body>
</html>