html5 worker 实例(一) 为什么测试不到效果
2016-07-13来源:

很多人在测试worker api的时候,总是会出现异常,根本测试不到效果。

在使用worker的时候有个必须注意的地方,就是单纯的文本文件是实现不了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="//www.submisscin.com/wap/./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发送的字符串(实际应用中一般使用json传送)。

推荐信息
Baidu
map