将参数传递给GWT bootstrap .nocache.js脚本
发布时间:2020-12-17 21:34:57 所属栏目:安全 来源:网络整理
导读:有没有办法将参数传递给GWT生成的.nocache.js脚本文件,并在onModuleLoad函数中评估它们?像这样: script type="text/javascript" src="application/Application.nocache.js?appId=461333815262909"/script 主页页面URL应该与内部工作的GWT内容完全分离,因此
有没有办法将参数传递给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()); } } } 当然,它并不像在脚本标记的src URL中传递参数那么简单,但我认为它比隐藏文档内容中的div更简洁,并且比人工重新解析脚本标记的source属性更不容易出错. . (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |