
- Cordova 教程
- Cordova - 首頁
- Cordova - 概述
- Cordova - 環境搭建
- Cordova - 第一個應用
- Cordova - config.xml 檔案
- Cordova - 儲存
- Cordova - 事件
- Cordova - 返回按鈕
- Cordova - Plugman
- Cordova - 電池狀態
- Cordova - 相機
- Cordova - 聯絡人
- Cordova - 裝置
- Cordova - 加速度計
- Cordova - 裝置方向
- Cordova - 對話方塊
- Cordova - 檔案系統
- Cordova - 檔案傳輸
- Cordova - 地理位置
- Cordova - 全球化
- Cordova - InAppBrowser (應用內瀏覽器)
- Cordova - 媒體
- Cordova - 媒體捕獲
- Cordova - 網路資訊
- Cordova - 啟動畫面
- Cordova - 振動
- Cordova - 白名單
- Cordova - 最佳實踐
- Cordova 有用資源
- Cordova - 快速指南
- Cordova - 有用資源
- Cordova - 討論
Cordova - InAppBrowser (應用內瀏覽器)
此外掛用於在 Cordova 應用內開啟網頁瀏覽器。
步驟 1 - 安裝外掛
在我們能夠使用它之前,需要在 **命令提示符** 視窗中安裝此外掛。
C:\Users\username\Desktop\CordovaProject>cordova plugin add cordova-plugin-inappbrowser
步驟 2 - 新增按鈕
我們將新增一個按鈕,用於在 **index.html** 中開啟 **InAppBrowser** 視窗。
步驟 3 - 新增事件監聽器
現在,讓我們在 **index.js** 檔案中 **onDeviceReady** 函式中為我們的按鈕新增事件監聽器。
document.getElementById("openBrowser").addEventListener("click", openBrowser);
步驟 4 - 建立函式
在此步驟中,我們建立一個函式,該函式將在我們的應用內開啟瀏覽器。我們將其分配給 **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...') } }
如果我們按下 **BROWSER** 按鈕,我們將在螢幕上看到以下輸出。

控制檯也將監聽事件。當 URL 開始載入時,**loadstart** 事件將觸發;當 URL 載入完成時,**loadstop** 事件將觸發。我們可以在控制檯中看到它們。

關閉瀏覽器後,**exit** 事件將觸發。

InAppBrowser 視窗還有其他可能的選項。我們將在下表中解釋。
序號 | 選項及詳情 |
---|---|
1 | location 用於啟用或停用瀏覽器位置欄。值為 **yes** 或 **no**。 |
2 | hidden 用於隱藏或顯示 InAppBrowser。值為 **yes** 或 **no**。 |
3 | clearCache 用於清除瀏覽器 Cookie 快取。值為 **yes** 或 **no**。 |
4 | clearsessioncache 用於清除會話 Cookie 快取。值為 **yes** 或 **no**。 |
5 | zoom 用於隱藏或顯示 Android 瀏覽器的縮放控制元件。值為 **yes** 或 **no**。 |
6 | hardwareback **yes** 表示使用硬體返回按鈕在瀏覽器歷史記錄中後退。**no** 表示單擊返回按鈕後關閉瀏覽器。 |
我們可以使用 **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);