此插件用于在Cordova应用程序中打开Web浏览器。
我们需要在命令提示符窗口中安装此插件,我们才能使用它。
C:\Users\username\Desktop\CordovaProject>cordova plugin add cordova-plugin-inappbrowser
我们将添加一个按钮,用于打开 index.html 中的 inAppBrowser 窗口。
现在让我们在 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('loadloaderror', 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...') } }
如果我们按 BROWSER 按钮,我们将在屏幕上看到以下输出。
控制台还将监听事件。 当网址开始加载时, loadstart 事件将触发,并且在加载网址时加载 loadstop 。 我们可以在控制台看到它。
关闭浏览器后,退出事件将会触发。
InAppBrowser窗口有其他可能的选项。 我们将在下面的表中解释。
选项 | 描述 |
---|---|
location | 用于打开或关闭浏览器位置栏。 值为是或否。 |
hidden | 用于隐藏或显示inAppBrowser。 值为是或否。 |
clearCache | 用于清除浏览器缓存缓存。 值为是或否。 |
clearsessioncache | 用于清除会话cookie缓存。 值为是或否。 |
zoom | 用于隐藏或显示Android浏览器的缩放控件。 值为是或否。 |
hardwareback | 是使用硬件后退按钮浏览浏览器历史记录。 无可在关闭浏览器后点击返回按钮。 |
对于一些其他功能,我们可以使用 ref (reference)变量。我们将向您展示它的快速示例。对于删除事件侦听器,我们可以使用 -
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);