首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过GWT-platform实现多视图?

通过GWT-platform实现多视图?
EN

Stack Overflow用户
提问于 2012-03-22 09:56:37
回答 3查看 1.3K关注 0票数 2

我正在实现一个web应用程序,它将根据不同的浏览器支持不同的视图。例如,在移动浏览器中,它将使用较少的UI元素向用户显示较小的视图。但我们想用同样的主持人。

我有一个在ClientModule中手动添加浏览器类型检测逻辑的解决方案,例如:

代码语言:javascript
复制
if (browser == "iphone") {
    bindPresenter(HomePresenter.class, HomePresenter.MyView.class, HomeView.class, HomePresenter.MyProxy.class);
} else if (browser == "ipad") {
    bindPresenter(HomePresenter.class, HomePresenter.MyView.class, IPadHomeView.class, HomePresenter.MyProxy.class);
} else {
    bindPresenter(HomePresenter.class, HomePresenter.MyView.class, IPhoneHomeView.class, HomePresenter.MyProxy.class);
}

我想知道是否可以在GWT-platform中使用一些方法,比如延迟绑定。(但我更愿意遵循GWT-plarform的结构,而不是在xxx.gwt.xml中添加延迟绑定代码)。

所以我的问题是:

1)有没有其他方式实现上面提到的功能?

2)哪种方式最好?为什么?

提前感谢!

诚挚的问候,

家宽W

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-22 11:36:44

GWT不允许您设置自定义用户代理类型。你只能选择他们的壁虎、gecko1_7、safari、IE6、IE7、IE8和opera

也就是说,您可以使用Window.Navigator.getUserAgent(),或通过属性提供程序对逻辑进行access the user agent directly和设置,以进行相应的切换。

请看how to do mobile browser detection in GWT上关于MVP的类似问题。

票数 1
EN

Stack Overflow用户

发布于 2012-03-22 22:25:42

在gwt samples文件夹中有一个示例,它可以执行您想要的操作。我在我的项目-except中使用了示例代码的一个版本,使用Gin来处理clientfactory功能。该示例名为mobilewebapp。它涉及到在.gwt.xml中使用formfactor方法来确定您所在的系统-在本例中,它将系统分为台式机、移动设备和平板电脑。然后,在稍后的gwt.xml中,它根据外形尺寸交换客户端工厂-我交换的是gin模型。以下是指向mobilwebapp源代码的链接

票数 2
EN

Stack Overflow用户

发布于 2012-03-23 18:02:02

查看gwtp google组,这是一个很好的来源,有人在那里发布了一篇关于他在清酒问题上所做的努力的pdf。不管怎样,如果我没记错的话,他为每个客户端的presenters和views保存了多个gin模块,在加载时运行自定义的js代码,然后在ginClinet类上安装正确的模块。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9815435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档