此插件用于在Cordova應(yīng)用程序中打開Web瀏覽器。
我們需要在命令提示符窗口中安裝此插件,我們才能使用它。
C:\Users\username\Desktop\CordovaProject>cordova plugin add cordova-plugin-inappbrowser
我們將添加一個(gè)按鈕,用于打開 index.html 中的 inAppBrowser 窗口。
現(xiàn)在讓我們?cè)?strong> index.js 中的 onDeviceReady 函數(shù)中為我們的按鈕添加事件監(jiān)聽器。
document.getElementById("openBrowser").addEventListener("click", openBrowser);
在這一步,我們創(chuàng)建的功能將打開瀏覽器在我們的應(yīng)用程序。我們將它分配給 ref 變量,我們稍后可以使用它添加事件監(jiān)聽器。
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 按鈕,我們將在屏幕上看到以下輸出。
控制臺(tái)還將監(jiān)聽事件。 當(dāng)網(wǎng)址開始加載時(shí), loadstart 事件將觸發(fā),并且在加載網(wǎng)址時(shí)加載 loadstop 。 我們可以在控制臺(tái)看到它。
關(guān)閉瀏覽器后,退出事件將會(huì)觸發(fā)。
InAppBrowser窗口有其他可能的選項(xiàng)。 我們將在下面的表中解釋。
選項(xiàng) | 描述 |
---|---|
location | 用于打開或關(guān)閉瀏覽器位置欄。 值為是或否。 |
hidden | 用于隱藏或顯示inAppBrowser。 值為是或否。 |
clearCache | 用于清除瀏覽器緩存緩存。 值為是或否。 |
clearsessioncache | 用于清除會(huì)話cookie緩存。 值為是或否。 |
zoom | 用于隱藏或顯示Android瀏覽器的縮放控件。 值為是或否。 |
hardwareback | 是使用硬件后退按鈕瀏覽瀏覽器歷史記錄。 無可在關(guān)閉瀏覽器后點(diǎn)擊返回按鈕。 |
對(duì)于一些其他功能,我們可以使用 ref (reference)變量。我們將向您展示它的快速示例。對(duì)于刪除事件偵聽器,我們可以使用 -
ref.removeEventListener(eventname, callback);
對(duì)于關(guān)閉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);
更多建議: