问题标签 [gwt-history]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1014 浏览

gwt - GWT 历史机制

我正在尝试将历史记录功能添加到我的 GWT 应用程序中。

据我了解,GWT 必须提供的基本历史支持确实是基本的……或者我应该说非常基本。

除了当前位于堆栈顶部的令牌之外,它并没有真正存储有关状态的任何其他信息。这意味着我希望得到像弹出令牌这样的信息,这是我们刚刚离开的那个,也可能会得到信息,无论是按下还是前进。

基本机制假定页面没有“高级”状态,即如果当前标记是“菜单”,那么我们从哪里进入这个菜单页面并不重要。但是,我想检查我们此时是否要离开特定页面,因为如果我们这样做了,那么我想先显示警告以保存数据。

此外,我的一些页面没有使用默认构造函数,而是从当前显示的页面中获取特定信息。这使我无法在一个集中的地方创建所有页面,并且应用程序中的所有按钮都只是在玩弄历史令牌。(如第 37 页所建议的那样。)

无论如何,我在这里很迷茫。我不确定要在不重写我的应用程序的情况下实现对后退/前进的基本支持要采取什么途径。

任何人的想法或想法?

0 投票
1 回答
592 浏览

java - 未调用 GWT 历史 onValueChange()

我在一个实现这个类的类中有一个方法ValueChangeHandler<String>是从方法中初始化的,onModuleLoad()就像这样

initialise()方法如下所示;

当应用程序以空白历史令牌启动时,即按下启动默认浏览器onValueChange()时,调用该方法,在应用程序运行时更改 url 调用该onValueChange()方法。

但是,在 URL 中带有标记的空白浏览器选项卡中输入 URL,即http://127.0.0.1:8888/MyApp.html?gwt.codesvr=127.0.0.1:9997#mjh&jdfhfh=786543,不会调用该onValueChange()方法。当我到达声明的History.newItem(initialToken, true);一部分时,我很困惑。if我认为这将确保onValueChange()被调用。怎么了?

0 投票
1 回答
87 浏览

c++ - 在 C++ 中使用 this 时出错

在这一行:move(n-1,dest,this);

得到一个错误,说对非 const 的引用的初始值必须是左值;

0 投票
1 回答
233 浏览

gwt - 如何将 History.js 与 GWT 一起使用?

我想使用Google Web Toolkit 中的History.js

我知道 GWT 有它自己的 History 功能,但我不喜欢它,因为它使用 URI 中的哈希值,我想尽可能地使用新的 HTML5 History API。

我能想到的将 History.js 和 GWT 一起运行的唯一当前方法是用纯 Javascript(或 jQuery)编写 History.js 部分,然后手动调用 GWT 方法。

如果可以从 GWT 的 Java 文件中使用整个 History.js 功能,那就太好了。

0 投票
1 回答
165 浏览

java - GWT 历史 - 状态是否在状态中创建历史或历史结果?

我对我为 GWT 的历史机制找到的示例感到有些困惑。

查看并运行示例GWT History似乎不是很好。

历史通常被解释为应用程序更改的结果。

该示例有多个问题:

  • 初始状态也是空令牌和令牌“page0”

    --> “历史” Back 在“离开应用程序”前两次显示同一页面

  • 历史和状态以某种方式间接同步。

    • Tab 选择会引发一个选择事件,该事件会设置一个新标记。设置令牌会导致历史值更改,再次选择相同的选项卡 (?)。这种模式有点令人费解。

换个角度看问题会不会错?

我认为总是根据历史令牌更改状态会更干净。

在那种情况下ValueChange将实现“状态渲染”。想要改变状态的按钮不会直接使用History.newItem()方法,而是使用方法间接改变状态valueChange

例如

还有一个想要显示注册的按钮:

这以某种方式使用历史来驱动应用程序状态。

这有什么问题,为什么到处都是反其道而行之?

0 投票
2 回答
621 浏览

gwt - Google Analytics - 使用历史令牌跟踪页面

我想知道 Google Analytics 是否会自动跟踪使用 ajax 历史令牌('#')保留状态的页面,例如使用 GWT 开发的。我的应用程序有一个 html 页面,不同的模块(页面)具有相同的 URL,除了 # 之后的部分(例如 www.mysite.com?test=true#page=Contacts/id=1)。

此外,如果默认情况下没有提到这种行为,有没有办法设置 Google Analyics 以具有此功能?

编辑:

我发现这篇文章解释了如何跟踪#hashtag: http ://www.searchenginepeople.com/blog/how-to-track-clicks-on-anchors-in-google-analytics.html

但是,如果我使用此解决方案,是否会在用户按下带有 href'#hastag' 的锚点时或仅在使用该主题标签直接访问 aa 页面时记录页面访问(在这种情况下,我应该注册一个调用 trackPageview 的函数当历史改变时)?

0 投票
1 回答
82 浏览

java - GWT History - 为什么它会改变我屏幕的焦点?

我有一个简单的应用程序结构,它将在任何时候包含三个组合——我的页眉、页脚和内容组合。复合材料按以下方式布置。

复合材料被分配给<div>my中的三个EntryPoint。还包含一个历史处理程序,EntryPoint如下所示。

在我的 Composites 中,我有几个ClickEvent类似于以下内容的处理程序。

这很好地记录了历史。当我单击后退按钮时,它还会将我带到相应的页面。但是,它具有将浏览器聚焦在内容合成上的非常奇怪的效果,即浏览器滚动到底部的效果。这不是一个交易破坏者,但它有点破坏用户体验。(如果解释不清楚,请告诉我,我会添加图片)

究竟是什么原因造成的,我该如何解决?

0 投票
2 回答
673 浏览

gwt - gwt - 历史 - 如何“保持” UI 状态

我尝试了展示如何从历史中获取数据以重新生成 UI的示例;我在所有“历史使用”示例中看到的主要内容仅与 UI 重新生成有关,因此它不是静态方式......

但是“每个 UI 状态都可能有其独特的 url,就像 JSF 对流所做的那样”呢?例如,我有应用程序网址,例如

应用程序默认 UI 包含有助于浏览我的测试目录的主菜单;我试图通过以这种方式构建 url 来使 UI 动态保持在历史上成为可能

但是当我点击互联网浏览器“刷新”按钮时,网址保持不变,http://localhost:8080/myapp/MyApp.html#menu_testcategory_page1但 UI 恢复到默认状态:(

所以我的问题是

即使在单击浏览器的刷新按钮后(我的意思是卸载/加载窗口事件发生),纯 gwt 是否有最佳方式保持相同的 UI 状态?

谢谢

PS 重量 2.3

0 投票
0 回答
49 浏览

java - GWT 历史记录 - newItem(String historyToken, boolean issueEvent) 在 FF41 中损坏

看起来像History#newItem(String, boolean)带有参数的 GWT 方法boolean控制值更改事件已被破坏,即使传递了false值,在最近的 Firefox 版本中(特别是 41)

有人坚持同样的问题吗?有没有办法来解决这个问题?

0 投票
1 回答
120 浏览

gwt - 页面刷新后如何防止gwt应用程序进入登录页面?

我有一个带有登录页面和主页的 gwt 应用程序。登录后应用程序进入主页。我想要的是如果我刷新页面以留在主页而不是登录页面。我已经阅读了很多东西,我尝试了 History Mechanish,但没有结果。这是我的代码:

我也试过:

这是使用 History.addValueChangeHandler 处理页面刷新的正确方法吗?我将不胜感激任何帮助。