📅  最后修改于: 2020-12-09 05:36:51             🧑  作者: Mango
该插件用于在Cordova应用程序中打开Web浏览器。
我们需要先在命令提示符窗口中安装此插件,然后才能使用它。
C:\Users\username\Desktop\CordovaProject>cordova plugin add cordova-plugin-inappbrowser
我们将在index.html中添加一个用于在AppBrowser窗口中打开的按钮。
现在,让我们在index.js的onDeviceReady函数中为按钮添加事件侦听器。
document.getElementById("openBrowser").addEventListener("click", openBrowser);
在此步骤中,我们将创建将在应用程序内打开浏览器的函数。我们将其分配给ref变量,以便以后用于添加事件侦听器。
function openBrowser() {
var url = 'https://cordova.apache.org';
var target = '_blank';
var options = "location = yes"
var ref = cordova.InAppBrowser.open(url, target, options);
ref.addEventListener('loadstart', loadstartCallback);
ref.addEventListener('loadstop', loadstopCallback);
ref.addEventListener('loaderror', loaderrorCallback);
ref.addEventListener('exit', exitCallback);
function loadstartCallback(event) {
console.log('Loading started: ' + event.url)
}
function loadstopCallback(event) {
console.log('Loading finished: ' + event.url)
}
function loaderrorCallback(error) {
console.log('Loading error: ' + error.message)
}
function exitCallback() {
console.log('Browser is closed...')
}
}
如果按浏览器按钮,我们将在屏幕上看到以下输出。
控制台还将监听事件。 URL开始加载时将启动loadstart事件,而URL加载时将触发loadstop 。我们可以在控制台中看到它。
关闭浏览器后,将触发退出事件。
InAppBrowser窗口还有其他可能的选项。我们将在下表中对其进行说明。
S.No | option & details |
---|---|
1 |
location Used to turn the browser location bar on or off. Values are yes or no. |
2 |
hidden Used to hide or show inAppBrowser. Values are yes or no. |
3 |
clearCache Used to clear browser cookie cache. Values are yes or no. |
4 |
clearsessioncache Used to clear session cookie cache. Values are yes or no. |
5 |
zoom Used to hide or show Android browser’s zoom controls. Values are yes or no. |
6 |
hardwareback yes to use the hardware back button to navigate back through the browser history. no to close the browser once back button is clicked. |
我们可以将ref (参考)变量用于其他一些功能。我们将仅向您展示其简单示例。为了删除事件监听器,我们可以使用-
ref.removeEventListener(eventname, callback);
为了关闭InAppBrowser,我们可以使用-
ref.close();
如果我们打开隐藏窗口,我们可以显示它-
ref.show();
甚至JavaScript代码也可以注入InAppBrowser-
var details = "javascript/file/url"
ref.executeScript(details, callback);
相同的概念可以用于注入CSS-
var details = "css/file/url"
ref.inserCSS(details, callback);