隐藏inAppBrowser插件Cordova 3 +中的历史记录按钮

时间:2014-06-02 05:18:37

标签: javascript android cordova inappbrowser

我使用的是android,cordova 3.4.1+和最新的inAppBrowser插件。我需要使用Done按钮并且没有history buttonsurl location

的工具栏

因此,通过以下方式,我成功删除了网址。但历史按钮仍在显示。

window.open('http://example.com/some.jpg','_blank','location=no,toolbar=yes,EnableViewPortScale=yes');

哦!我还需要在.java文件中进行一些调整,以便在location=no

时显示工具栏

但无论如何我无法隐藏历史按钮。谁能告诉我如何隐藏历史按钮?可以通过调整插件的.java文件来实现吗?如果不可能,是否可以从javascript控制按钮的行为?例如,我想设置下一步去哪里'对于那些历史按钮........

3 个答案:

答案 0 :(得分:1)

你可以通过覆盖监听器覆盖按钮来处理..检查loadstart eventlistener并获取event.url,它给出你当前的位置url,比较它并给出你想要提供的适当的动作,你可以通过它来处理历史记录。如果你想停止加载页面,那么一旦比较url为true就给出动作。

var ref = window.open('http://example.com/some.jpg', '_blank', 'location=yes');

//处理事件监听器

ref.addEventListener("exit", function () {
    //logic here
});

     ref.addEventListener('loadstart', iabLoadStart);
     ref.addEventListener('loadstop', iabLoadStop);
     ref.removeEventListener('loaderror', iabLoadError);



function iabLoadStart(event) {
        alert(event.type + ' - ' + event.url);
       if(event.url=="http://example.com")
       {
           //your logic
       }
    }

function iabLoadStop(event) {
    alert(event.type + ' - ' + event.url);
}

function iabLoadError(event) {
    alert(event.type + ' - ' + event.message);
}

答案 1 :(得分:0)

我还没有找到任何方法来控制这些历史按钮的行为。如果按下前进将会转到一个新的预定义地址。我现在不认为存在。要hide这些按钮,请转到

platforms\android\src\org\apache\cordova\inappbrowser\inAppBrowser.java

找到这些行

// Add the back and forward buttons to our action button container layout
actionButtonContainer.addView(back);
actionButtonContainer.addView(forward);

评论他们。

答案 2 :(得分:0)

  1. 如果您想隐藏history buttons (BACK & FORWARD)导航栏中的URL addressInAppBrowser's,请对inAppBrowser.java中的行进行评论。哪个位于文件夹位置
  2.   

    平台\机器人\ SRC \组织\阿帕奇\科尔多瓦\ inappbrowser \ inAppBrowser.java

    转到以下行或搜索以下行并注释掉这些行

    actionButtonContainer.addView(back);
    actionButtonContainer.addView(forward);
    

    或者你也可以注释掉这一行。

    toolbar.addView(actionButtonContainer);
    

    为了隐藏网址,您可以在线下方注释

    toolbar.addView(edittext);
    
    1. 如果您想使用InAppBrowser按钮关闭Back,请执行步骤1.修改以下为Close/Done按钮编写的行。 closeLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
    2. int closeResId = activityRes.getIdentifier("ic_action_previous_item", "drawable", cordova.getActivity().getPackageName());

      1. 之后,只需从CLI构建项目并运行它。
      2. 快乐编码