很多人在測試worker api的時候,總是會出現(xiàn)異常,根本測試不到效果。
在使用worker的時候有個必須注意的地方,就是單純的文本文件是實現(xiàn)不了worker的,你寫的實際代碼 必須部署到服務器(tomcat.jBoss等)才能運行worker api。
下面寫個簡單例子
js代碼test.js(worker)
代碼如下:
function messageHandler(e) {
postMessage("worker says: " + e.data + " too");
}
addEventListener("message", messageHandler, true);
postMessage("2222222222");
html代碼 index.html
代碼如下:
<!DOCTYPE html>
<html>
<head>
<title>index.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
</head>
<body>
<script type="text/javascript">
if(typeof(Worker)!=="undefined"){
console.log("zhichi worke");
}else{
console.log("no support!");
}
function messageHandler(e){
console.log(e.data);
}
function errorHandler(e){
console.log(e.message, e);
}
var myWorker = new Worker("task.js");
myWorker.addEventListener("message", messageHandler, true);
myWorker.addEventListener("error", errorHandler, true);
myWorker.postMessage("1 fangsong d");
</script>
</body>
</html>
不是之后直接訪問index.html頁面,然后在瀏覽器的console面板中將看到worker發(fā)送的字符串(實際應用中一般使用json傳送)。