在cordova inappbrowser中添加按钮以隐藏它编辑:并通过Javascript添加图像到inappbrowser

时间:2018-02-20 20:10:19

标签: javascript image cordova cordova-plugins inappbrowser

我在Ionic-v1应用中有一个带有地图的网址的外部链接。目前我的InAppBrowser中的关闭按钮已激活,我可以从我的应用程序再次打开URL。但是,地图上的位置当然不会被记住(只是重新打开网址)。

所以我在文档中找到了InAppBrowser.hide(),这对我很有帮助。但是,我很难找到在应用程序中添加此方法的方法。什么是最好的方式?

更改当前关闭按钮以隐藏而不是关闭(因此分别为Android和iOS操纵inappbrowser.java和inappbrowser.m 在加载时将iavascript添加到inappbrowser并在此处设置隐藏按钮,然后停用关闭按钮 要么…? 有没有人有建议/最佳实践/代码示例? 谢谢!

编辑:我使用了@NickyTheWrench的解决方案,但是想要将按钮设置为一个带有右侧徽标(不可点击)的栏。所以我在代码中使用了:

var menu = document.createElement('div'); 
menu.style = 'height:24px;width:100%;background-color:#fdce0c;font-
size:16px;text-align:left;top:0;left:0;position:fixed;'; 
document.body.appendChild(menu); 

var button = document.createElement('Button'); 
button.innerHTML = '≡';
button.style = 'height:24px;border:0px;font-size:16px;border-radius:0px;background-color:#fdce0c;';  
menu.appendChild(button);

var image = document.createElement('Img'); 
image.src = 'http://gerhard.technoleno.nl/VGD_transparent_20px.png';
image.style = 'right:0;position:fixed'
menu.appendChild(image);

这适用于小提琴:https://jsfiddle.net/m06hv1yt/16/,但离子cordova无法提供图像(它使其成为带问号的蓝色框。当我在本地保存图像时,同样存在问题。如何添加想象一下这段Javascript吗?

编辑2:编辑答案:网址必须为https,否则离线cordova无法找到。

1 个答案:

答案 0 :(得分:0)

// On your Cordova js
StatusBar.hide();
var ref=window.open('http://www.foo.bar','_blank','zoom=no,location=no,toolbar=no');
ref.addEventListener("loadstop", function() {
    ref.executeScript({
        code: "localStorage.setItem('close','no');"
    });
    var loop = setInterval(function() {
        ref.executeScript({
            code: "try {localStorage.getItem('close');} catch (exception) {}"
        }, function(values) {
            if (values[0]=== 'yes') {
                clearInterval(loop);
                ref.hide();
            }
        });
    });
});
// On your external page
$("#exitbutton").on("click",function(e){
    window.localStorage.setItem('close','yes');
});