IBM Worklight - 实现自定义后退/前进按钮

时间:2013-11-30 18:27:52

标签: jquery-mobile ibm-mobilefirst back-button

在我的应用程序中,我正在为iOs和Android环境创建一个WL.TabBar对象,例如导航菜单。为了模仿jquery的后退按钮我正在使用像这样的简单函数

function back(){
   history.back();
   return false;
}

function forward(){
   history.forward();
   return false;
}
在iOs模拟器中它可以工作,但在Android没有。我正在使用Android 2.2虚拟设备。

编辑: 这是android/js/[AppName].js文件中的代码,也是iOs环境的代码。

function wlEnvInit(){
wlCommonInit();
// Environment initialization code goes here

   navigation.init();
   navigation.addItem("item1",back,"Back",{});
   navigation.addItem("item2",forward,"Forward",{});
   navigation.setVisible(true);

}

var navigation = WL.TabBar;

function back(){
   window.history.back();
   return false;
}

function forward(){
   window.history.forward();
   return false;
}

1 个答案:

答案 0 :(得分:2)

此问题似乎是Android 2.x独有的。您的代码在Android 4.x上正常运行。出于某种原因,当直接从Android 2.x上的标签栏单击处理程序调用时,windows.back()/ windows.forward()无效。您可以使用短暂的超时来解决此问题:

function back() {
setTimeout(function() {
    window.history.back();
}, 100);
return false;
}

function forward() {
setTimeout(function() {
    window.history.forward();
}, 100);
return false;
}