2013-07-09 80 views
1

使用Dojo 1.9开发Worklight 6.0应用程序,我们在运行Android v4.1.2(非常常见)的Galaxy SII,SIII,Note设备上遇到了一些页面导航问题。IBM Worklight 6.0 - 如何使用预构建的Dojo图层来包含Dojo补丁?

我们看到这些问题已解决by Dojo patch #17164
此修补程序未包含在Worklight的默认Dojo构建中。

我们试图通过将文件放在项目的dojox \ mobile文件夹中,但没有任何作用 - 我们猜测它在构建过程中被未修补的类覆盖。

是否有任何其他方式来包含/定义此修补程序? 我们宁愿避免自定义构建Dojo来跟上WL版本。

+0

问题是道场/移动文件是预包装和最小化,在道场目录实际上并不会改变大多数文件,从而改变文件因为它不使用它 – tik27

回答

0

我已经使用猴子补丁来完成你正在尝试做的事情。

require(['dojox/mobile/css3'], function(css3) {  
    css3.prototype.name = function(p, hyphen) { 
     // put your patched version of the function here. 
    }; 
}); 

在需要使用补丁版本的任何代码被调用之前,您需要确保执行此代码。

您还将从原始功能复制代码。每次升级Dojo或Worklight时,都需要评估补丁是否仍然需要,或者是否需要修改补丁,因为对原始功能所做的更改可能不是补丁的一部分。

http://en.wikipedia.org/wiki/Monkey_patch

Is "monkey patching" really that bad?

+0

这是一个很好的尝试方向。不过,我们使用的实际猴子补丁有点复杂。谢谢! – eaCmg

1

既然你想避免海关大楼道场,另一种可能是从您的项目中删除www/layers/mobile-ui-layers.js并依靠Dojo库项目开发过程中提供的资源。然后,您可以将更新后的原始文件放入Dojo Library项目中,并使用Mobile Browser Simulator。但是,在部署到设备时,必须将应用程序的所有必需资源(曾经是mobile-ui图层的一部分)放入项目的www/目录中,并维护相应的目录结构。

有关Dojo库项目以及查找应用程序请求哪些Dojo资源的信息,请参阅Worklight Studio Infocenter文档Worklight Dojo library project setup

如果您决定冒险并执行自定义Dojo构建,则可以重建mobile-ui-layers.js文件以使用Dojo Build Factory使用修补文件。

相关问题