2

如果我为多个代理构建它们,我在 GWT 中运行我的网络工作者时遇到问题。我收到未定义 unflattenKeylistIntoAnswers 函数的错误。实际上,该函数是为主 JS 定义的,但为 Web worker JS 定义的。此外,未定义其他一些函数,例如 computePropValue。

我错过了什么吗?也许是某种旗帜?

这是我的 gwt xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Could not determine the version of your GWT SDK; using the module DTD from GWT 1.6.4. You may want to change this. -->
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 1.6.4//EN" "http://google-web-toolkit.googlecode.com/svn/tags/1.6.4/distro-source/core/src/gwt-module.dtd">
<module rename-to="BucketsSnapperWorker">

    <inherits name="path.to.Core" />

    <source path="" />

    <!-- Use the WebWorker linker for a Dedicated worker-->
    <add-linker name="dedicatedworker" />

    <entry-point class="path.to.EntryPoint"/>

    <set-property name="user.agent" value="safari,gecko1_8"/>
</module>
4

1 回答 1

1

从 GWT 2.5 开始,您需要强制 GWT 编译器只为工人生成一个排列。将此添加到您的 gwt xml 文件中(替换您的 user.agent 属性):

<set-property name="user.agent" value="safari"/>
<set-configuration-property name="user.agent.runtimeWarning" value="false" />

在我的情况下,工作人员还使用“safari” user.agent 选项在 Firefox 中运行。

于 2012-12-19T15:32:59.430 回答