GWT:避免在web应用程序加载时设置window.name
我想使用window.name作为某个标识符的持有者,以便在页面刷新发生(或被强制刷新)时使用。然而,我注意到GWT将其设置为GWT:避免在web应用程序加载时设置window.name,gwt,Gwt,我想使用window.name作为某个标识符的持有者,以便在页面刷新发生(或被强制刷新)时使用。然而,我注意到GWT将其设置为重命名为模块定义中定义的属性值。有什么办法可以避免吗 另外,我知道我可以使用会话存储,或者甚至其他一些机制。我只是好奇这个特定的案例——想知道如何覆盖这样的GWT行为。您确定窗口的名称正在更改吗?我记得模块更改了加载到的iframe,但没有更改全局窗口。或者您正在使用不同的链接器?或者将窗口称为jsni中的窗口,而不是$wnd private native void se
重命名为模块定义中定义的属性值。有什么办法可以避免吗
另外,我知道我可以使用会话存储,或者甚至其他一些机制。我只是好奇这个特定的案例——想知道如何覆盖这样的GWT行为。您确定窗口的名称正在更改吗?我记得模块更改了加载到的iframe,但没有更改全局窗口。或者您正在使用不同的链接器?或者将窗口称为jsni中的窗口,而不是$wnd
private native void setWindowName(String newName) /*-{
$wnd.name=newName;
}-*/;
您确定窗口的名称已更改吗?我记得模块更改了加载到的iframe,但没有更改全局窗口。或者您正在使用不同的链接器?或者在jsni中将窗口称为窗口
,而不是$wnd
?您完全正确。现在,当我阅读JSNI文档时,我了解了$wnd和$doc。如果您能将最终解决方案作为答案发布,那就太好了。@Colin Alworth如果您只是将评论作为答案转发,我将很乐意接受您的答案。这是初学者的错误,但也可以由不每天使用GWT的其他人来完成。