gwt - 将参数传递给 GWT bootstrap .nocache.js 脚本

标签 gwt parameters

有没有办法将参数传递给 GWT 生成的 .nocache.js 脚本文件并在 onModuleLoad 函数中对其进行评估?像这样:

<script type="text/javascript" src="application/Application.nocache.js?appId=461333815262909"></script>

主机页面 URL 应该与内部工作的 GWT 内容完全分离,因此将 appId 参数作为主机页面的查询参数传递并使用 Window.Location.getParameter 访问它不是一种选择。我知道我可以隐藏这样的参数,例如在隐藏的 DIV 中,然后从脚本中查询它们,但如果可能的话,我希望避免在主机页面中进一步依赖。

谢谢!
丽莎

最佳答案

不是将信息隐藏在可能会变得困惑的隐藏 div 中,传递参数的一种简单方法是通过 HTML 元标记。

在调用 GWT 脚本的 HTML 页面中,添加如下元标记:

<html>
  <head>
    <meta name="appId" content="461333815262909">
    ...

然后,在您的模块的入口点中,按如下方式对其进行解析:
@Override
public void onModuleLoad() {
    NodeList<Element> metas = Document.get().getElementsByTagName("meta");
    for (int i=0; i<metas.getLength(); i++) {
        MetaElement meta = (MetaElement) metas.getItem(i);
        if ("appId".equals(meta.getName())) {
            Window.alert("Module loaded with appId: " + meta.getContent());
        }
    }
}

当然,这并不像在 script 标签的 src URL 中传递参数那么简单,但我相信它比在文档内容中隐藏 div 更干净,并且比人为地重新解析 script 标签的源属性更不容易出错.

关于gwt - 将参数传递给 GWT bootstrap .nocache.js 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4351091/

相关文章:

linux - 在 Linux 上安装 GWT 开发者插件

sql - 所需的结果行数作为存储过程中的参数

powershell - 如何禁用短参数名称

gwt - 如何在gwt中制作mailto链接?

java - ClassNotFoundException : com. allen_sauer.gwt.log.client.WrappedClientThrowable

command-line - Powershell 命令处理(传入变量)

python - help() 输出中的斜线是什么意思?

c# - C#中的默认参数传递

html - GWT - 我需要一段标记为链接且可点击的文本

java - 如何在 GWT 页面中显示 java applet?