2013-08-20 87 views
1

我已經盡了一切可能,我的理解,並呼籲inappbrowser作爲esapined在phonegap網站,其工作,但我似乎無法獲得狀態欄顯示,它不全屏啓動。phonegap Inappbrowser不顯示位置欄(IOS)

我有用戶在我的網頁標記下面的代碼。

<script type="text/javascript"> 
     function onDeviceReady() { 
     var ref = window.open('http://www.bbc.co.uk', '_blank', 'location=yes'); 
    // close InAppBrowser after 5 seconds 
     setTimeout(function() { 
      ref.close(); 
      }, 5000); 
     }    
</script> 

使用的

onClick="onDeviceReady(); 

這是完全啓動inappbrowser。 我已經盡了一切與我的config.xml並請在下面找到

<preference name="phonegap-version" value="2.9.0" /> 
<preference name="permissions" value="none" /> 
<preference name="orientation" value="landscape" /> 
<preference name="target-device" value="tablet" /> 
<preference name="fullscreen" value="true" /> 
<preference name="webviewbounce" value="false" /> 
<preference name="prerendered-icon" value="true" /> 
<preference name="stay-in-webview" value="false" /> 
<preference name="ios-statusbarstyle" value="black-opaque" /> 
<preference name="detect-data-types" value="true" /> 
<preference name="exit-on-suspend" value="false" /> 
<preference name="show-splash-screen-spinner" value="true" /> 
<preference name="auto-hide-splash-screen" value="true" /> 
<preference name="disable-cursor" value="false" /> 
<preference name="load-url-timeout" value="15000" /> 
<preference name="FadeSplashScreen" value="true" /> 
<preference name="FadeSplashScreenDuration" value=".25" /> 
<preference name="TopActivityIndicator" value="gray" /> 
<preference name="ShowSplashScreenSpinner" value="true" /> 

,但沒有代碼似乎帶來了瀏覽器的地址欄中。已經在這2天了,我已經在模擬器和現場設備上進行了測試。 inappbrowser顯示出來,但不是全屏顯示,沒有工具欄。

任何幫助將做,並提前致謝。

+0

我相信裁判對象是一個JS窗口對象,但不知道,如果是,你可以嘗試操作大小,至少嘗試調試它 – nsawaya

回答

5

我已經能夠回溯這個問題。儘管安裝了PhoneGap 3.0.0,但我首先感到困惑的是,爲什麼phoneGap網站會要求包含<script src="cordova.js"></script>,我把它拿出來並且工作得很完美,我還必須使用phonegap local plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-inappbrowser.git命令手動將InAppBrowser插件安裝到我的應用程序目錄中使用create MyiPadApp com.example.MyiPadApp myApp創建我的應用程序,然後完成所有工作。

接下來是找到如何從子網站關閉InAppBrowser。我已經成功注入的JavaScript代碼的幾行監測觸摸和點擊活動

var IDLE_TIMEOUT = 10; 
var _idleSecondsCounter = 0; 

document.ontouchstart = function() { 
    _idleSecondsCounter = 0; 
    }; 

document.ontouchmove = function() { 
    _idleSecondsCounter = 0; 
    }; 
window.setInterval(CheckIdleTime, 1000); 

function CheckIdleTime() {_idleSecondsCounter++; 

    var oPanel = document.getElementById('SecondsUntilExpire'); 
    if (oPanel)oPanel.innerHTML = (IDLE_TIMEOUT - _idleSecondsCounter) + ''; 
    if (_idleSecondsCounter >= IDLE_TIMEOUT) { 
     alert('InAppBrowser will now close!'); 
     //I will need to add the ref.close() but it's not working. 
     } 
} 

警報大作,但.close()不工作COS它沒有返回值的InAppBrowser任何幫助,請

+0

還是有辦法跟蹤你的inappbrowser是否空閒。 –

0

而不是使用「InAppBrowser」插件從PhoneGap的,你可以使用ChildBrowser插件中的鏈接https://github.com/phonegap/phonegap-plugins/tree/master/iOS/ChildBrowser

我以前曾使用「InAppBrowser」試過,但我不喜歡它,因爲它沒有提供對我來說必要的功能就像onLocationChange事件等一樣,並且有使用它的問題。所以我總是使用ChildBrowser插件。

希望這有助於!

+0

謝謝@MrudulaChunduri我想試試這個,但我不明白文件分佈結構..我在哪裏主持這個文件?這是全部在一個文件夾或不同的文件夾因爲我看起來有點奇怪。我仍然是一個寶寶phoneGap dev。謝謝 –

+1

對於IOS,應將鏈接中的* .h,* .m和* .xib文件添加到應用程序的plugins文件夾中。您可以將ChildBrowser.js添加到您的www文件夾中的ay文件夾中,並在index.html頁面中引用它。然後你需要在你的config.xml文件中引用它們。我知道您使用的是cordova2.9.0,所以將此代碼添加到config.xml文件中

+1

現在您可以使用window.plugins.childBrowser.showWebPage(「http:// google。」)調用代碼中的childbrowser插件。com「); –