GWTP使用Formfactors来支持多个目标,如;
- 桌面
- Web Mobile
- 平板电脑
在多个目标旁边,我想通过不同的域或地址来支持我项目的多个桌面版本。
这意味着多个入口点连接到不同URL的
- desktop.project.nl
- dashboard.project.nl
或
- 项目.nl/桌面
- project.nl/dashboard
如何在GWTP中为不同的URL(或地址)配置多个入口点?
在https://gitter.im/gwtproject/gwt#提出了一些非常好的想法;
基本想法是只检查URL,然后启动一个不同的根面板(桌面或面板)。更进一步,这种不同的桌面/仪表板实现可以通过项目中的多个模块(具有不同的URL)来实现(如tbroyer原型),从而有可能使用具有共享功能的模块。
另一种方法是在检查URL之后决定提供哪个排列。这只是目前全球升温潜能值方案实施情况的一个变化;
https://github.com/ArcBees/GWTP/blob/master/gwtp-core/gwtp-mvp-client/src/main/resources/com/gwtplatform/mvp/FormFactor.gwt.xml
显示GWTP如何定义其属性以控制不同的形状因子"property provider"标记中的类将生成JS实际上选择了一个值(即.nocache.js如何知道正在运行的设备)。
https://github.com/ArcBees/GWTP/blob/master/gwtp-core/gwtp-mvp-client/src/main/resources/com/gwtplatform/mvp/rebind/linker/formFactor.js
是它的核心,支持"如果它与这些浏览器匹配,我们是移动的"之类的东西,加上从URL,并指定应使用的URL,用于调试等(或"请求桌面站点")
Colin Alworth
与其用逻辑来判断哪种浏览器正在运行,只需检查window.location.hostname等,看看它是否包含桌面与仪表板