使用Dojo 1.9开发Worklight 6.0应用程序,我们在运行Android v4.1.2(非常常见)的Galaxy SII,SIII,Note设备上遇到一些页面导航问题。
我们发现这些问题已得到解决by Dojo patch #17164 此修补程序未包含在Worklight的默认Dojo构建中。
我们尝试通过将文件放在项目的dojox \ mobile文件夹中来包含它,但没有任何效果 - 我们猜测它在构建期间被未修补的类覆盖。
还有其他方法可以包含/定义此补丁吗? 我们更愿意避免自定义构建Dojo以跟上WL版本。
答案 0 :(得分:1)
由于您希望避免自定义构建Dojo,因此可以选择从项目中删除www/layers/mobile-ui-layers.js
并依赖于在开发期间提供资源的Dojo Library项目。然后,您可以将更新的原始文件放在Dojo Library项目中,并使用Mobile Browser Simulator。但是,在部署到设备时,必须将曾经属于mobile-ui-layers一部分的所有应用程序所需资源放入项目的www/
目录中,从而维护相应的目录结构。
有关Dojo Library项目的信息以及找出应用程序请求的Dojo资源,请参阅Worklight Studio信息中心文档Worklight Dojo library project setup。
如果您决定冒险并执行自定义Dojo构建,则可以使用Dojo Build Factory重建mobile-ui-layers.js
文件以使用修补文件。
答案 1 :(得分:0)
我已经使用猴子补丁来完成你想要做的事情。
require(['dojox/mobile/css3'], function(css3) {
css3.prototype.name = function(p, hyphen) {
// put your patched version of the function here.
};
});
在任何需要使用修补版本的代码被调用之前,您需要确保执行此代码。
您还将从原始功能复制代码。每次升级Dojo或Worklight时,您都需要评估是否仍然需要补丁,或者是否需要修改补丁,因为对原始函数所做的更改可能不是补丁的一部分。
答案 2 :(得分:0)
https://dl.dropboxusercontent.com/u/40842201/Worklight%20Samsung%20fix/mobile-ui-layer.js
尝试在www / layers文件夹中使用此“mobile-ui-layer.js”。 只需复制文件并重新编译应用程序。
此修复程序基于以下问题: