gpt4 book ai didi

javascript - 从外部门户网站将参数传递给 GWT nocache.js

转载 作者:行者123 更新时间:2023-11-30 18:16:05 25 4
gpt4 key购买 nike

我创建了一个根容器 ID 为“widgetContainer”的 GWT 小部件,对应的编译文件为 gwtwidget.nocache.js。我已经创建了这个小部件的 war 文件并托管在本地服务器 localhost:8888/gwtwidget 中。

我创建了另一个jsp应用,index.jsp如下:(Integrated GWT module into JSP application)

<html>
<head>
<script type="text/javascript" language="javascript" src="http://localhost:8888/gwtwidget/gwtwidget/gwtwidget.nocache.js?appId=461333815262909&appId=461333815262909&appId=461333815262909&appId=461333815262909"></script>
</head>
<body>
<div id="widgetContainer"></div>
</body>
</html>

我想从 JSP 应用程序中检索通过 nocache.js 文件传递​​的参数。为此,我使用代码

public static native String getParameter( String moduleName, String parameterName ) /*-{
var search = "/" + moduleName + ".nocache.js";
var scripts = $doc.getElementsByTagName( "script" );
for( var i = 0; i < scripts.length; ++i ) {
if( scripts[ i ].src != null && scripts[ i ].src.indexOf( search ) != -1 ) {
var parameters = scripts[ i ].src.match(/\w+=\w+/g);
for( var j = 0; j < parameters.length; ++j ) {
var keyvalue = parameters[ j ].split( "=" );
if( keyvalue.length == 2 && keyvalue[ 0 ] == parameterName ) {
return unescape( keyvalue[ 1 ] );
}
}
}
}
return null;
}-*/;

但无法将参数值获取到 GWT 小部件中。谁能帮我解决这个问题?

提前致谢。

最佳答案

如果你想使用查询字符串传递参数,这不是直截了当的。有办法做到这一点。您可以引用以下帖子:

  1. > Passing parameters to JavaScript files
  2. > Pass vars to JavaScript via the SRC attribute

还有一种方式,我觉得比较简单。您可以在您的 jsp 文件中设置一个 cookie。您可以在 GWT 模块中读取 cookie。

<html>
<head>
<script type="text/javascript">
document.cookie="appId=461333815262909"
</script>
<script type="text/javascript" language="javascript" src="http://localhost:8888/gwtwidget/gwtwidget/gwtwidget.nocache.js"></script>
</head>
<body>
<div id="widgetContainer"></div>
</body>
</html>

您可以访问 GWT 模块中的 cookie“appId”:

String param = Cookies.getCookie("appId");

关于javascript - 从外部门户网站将参数传递给 GWT nocache.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13206402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com