自分で作ったり提供したりするものは、まず自分自身で使ってみろろということです。自分じゃ使わないものなら人はいくらでも無責任にも無思考にもなれる。そういう投げやりな「サービス」やら「プロダクツ」なんて、だれだってイヤだ。自分が作り手と同時に利用者の立場になれば、ちゃんと使えるレベルのものを提供しようとします。

2010年10月15日金曜日

html5 web workersサンプル

html5からマルチスレッドAPIも提供しています、これはWeb Workersです。これを利用して、画面側で動的に内容表示や大量計算など処理はよりより実現可能になります。

サンプル:
http://html5next.appspot.com/webworkers.html


ソース:
html:
<script type="text/javascript">
var worker = new Worker("webworkers.js");

function messageHandler(e) { 
 alert(e.data); 
}
function errorHandler(e) {
 alert(e.message);
}
function stopWorker() {
    worker.terminate();
}

$(function() {

 if (typeof(Worker) !== "undefined") 
 {
  document.getElementById("support").innerHTML = "おめでとうございます、あなたのブラウザーはHTML5 Web Workersをサポートしています。";

  worker.addEventListener("message", messageHandler, true);
  worker.addEventListener("error", errorHandler, true); 

     $("#btnTestWebWorker").click(function() {
         worker.postMessage("html5 leaner");
     });

     $("#btnStopWebWorker").click(function() {
      stopWorker();
     });
 }
 else
 {
  document.getElementById("support").innerHTML = "おめでとうございます、あなたのブラウザーはHTML5 Web Workersをサポートしていません。";
  $("#btnTestWebWorker").attr("disabled", "disabled");
 }
 
});
</script>

<div id="support"></div>
<button id="btnTestWebWorker">Web Workers 送信</button>
<button id="btnStopWebWorker">Web Workers ストップ</button>

webworkers.js:
function messageHandler(e) { 
 postMessage("worker says: こんにちは、" + e.data + " 。");
}

addEventListener("message", messageHandler, true); 

0 件のコメント:

コメントを投稿

ホームページ