2014-02-18 28 views
0

我的問題是,如果有可能從遠程網站使用本地phonegap功能訪問,而不使用iframe。使用遠程網站上的PhoneGap功能可能沒有iframe?

我目前的解決方案如下所示: 如果應用程序啓動時加載了iframe的index.html。當觸發'deviceReady'事件時,iframe的'src'被設置爲遠程網站,並顯示在iframe中。我可以照常瀏覽網站。爲了回到iframe的歷史記錄中,我傾聽index.js文件中的'backbutton'事件,併發送postMessage到iframe以回溯歷史記錄。這是我爲外部網站使用phonegap功能的全面工作。 我可以完全控制遠程網站,並可以在那裏更改代碼。

主要問題是此iframe的「外觀和感覺」。 iframe的佈局和性能不一致,非常差。

所以我的問題是,如果有任何其他解決方案可以在不使用iframe的情況下訪問phonegap插件。

問候

回答

1

是,

InAppBrowser

http://docs.phonegap.com/en/3.1.0/cordova_inappbrowser_inappbrowser.md.html

您可以executeScript了。

這是一個exteranl WebView和全屏幕,與iFrame完全不同。

+0

我將phonegap.js和/或cordova.js添加到遠程服務器,它不起作用。所以它也不會在inAppBrowser中工作,不是嗎?我必須添加什麼「menubutton」或「backbutton」功能?有一個注意:InAppBrowser窗口的行爲像一個標準的Web瀏覽器,並且無法訪問Cordova API。 – riedelinho

+0

「將phonegap添加到遠程服務器」是什麼意思?是的,正如我所提到的,它基本上是一個外部的WebView,所以它的行爲就像一個標準的webBrowwer。你可以'推'執行腳本,但從WebView獲取任何反饋很難做到,或許除非使用localStorage,否則這是不可能的。這取決於你想要做什麼。 –

+0

我將cordova.js文件添加到遠程服務器,它包含在每個頁面中。我爲webview設置了JavaScriptEnabled = true。現在這兩個按鈕工作正常,但我根本無法訪問phonegap API。是否有可能從WebView中的外部頁面(包括cordova.js)訪問該API? – riedelinho

相關問題