2013-04-20 69 views
1

我正在寻找交叉编译飞镖脚本JS,运行在网络工作者。Dart to javascript workers

我的JS脚本应该是这样的:

myScript.js

postMessage("I\'m working before postMessage(\'ali\')."); 

onmessage = function (oEvent) { 
    postMessage("Hi " + oEvent.data); 
}; 

如何构建我的镖代码来做到这一点?

将这两个函数直接放在我的javascript的顶部,以便能够在工作人员中运行非常重要。 thx

回答

1

我不确定任何人的尝试过。所以你应该!

dart.js,启动Dart虚拟机(如果可用并设置js-interp)的脚本不会很有用,因为它会访问很多对象,这些对象在工作中不可用,并且因为您不不需要启动虚拟机。

所以我的猜测是,所有你需要做的就是编译代码dart2js并直接引用你的工人呼叫app.dart.js:

new Worker("dart_worker.dart.js"); 

然后在dart_worker.dart.js注册window.onMessage活动并通常拨打window.postMessage

希望如果您不使用不允许的DOM对象,如document,dart2js不会生成在工作中失败的代码。

让我们知道这是否工作!

0

我尝试这样做:

dart_worker.dart

void main() { 

    window.onMessage.listen((event) => onData); 

} 

void onData(){ 
    var a = 10 + 25; 
} 

测试worker.html

Chrome的报告,我有一个脚本错误我的飞镖脚本:未捕获非法证据:命令

我的代码有什么问题吗?