2013-10-25 54 views
0

我的頁面非常簡單。
當它運行時,只顯示一個按鈕。點擊按鈕時,打開inAppBrowser並加載頁面「1.html」。 1.html中還有一個按鈕,點擊它會變成2.html。
我的目標:
1.點擊1.html的按鈕後,它會變成2.html(完成)。
2.每次更改inAppBrowser中的網址時,都會提醒網址。 這裏的index.html代碼:PhoneGap inAppBrowser loadstop事件問題

<!DOCTYPE html> 
<html> 
    <head> 
    <title>InAppBrowser.addEventListener Example</title> 
    <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script> 
    <script type="text/javascript" charset="utf-8" src="cordova.js"></script> 
    <script type="text/javascript" charset="utf-8"> 

    // Wait for device API libraries to load 
    // 
    document.addEventListener("deviceready", onDeviceReady, false); 

    // device APIs are available 
    // 
    function onDeviceReady() { 
     $("#btn").click(function(){ 
      var ref = window.open('1.html', '_blank', 'location=yes'); 
      ref.addEventListener('loadstop', function(event) { alert('stop: ' + event.url); }); 
     }); 
    } 

    </script> 
    </head> 
    <body> 
    <button id="btn">click</button> 
    </body> 
</html> 

上有 「1.HTML」 一個按鈕。如果點擊,請轉到「2.html」。 這裏是1.HTML的代碼:

<!DOCTYPE html> 
<html> 
    <head> 
    <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script> 
    <script type="text/javascript" charset="utf-8"> 
     $(function(){ 
      $('#btn').click(function(){ 
       window.href.location = '2.html'; 
      }); 
     }); 
    </script> 
    </head> 
    <body> 
    <button id="btn">Test</button> 
    <div id="msg"></div> 
    </body> 
</html> 

每次inAppBrowser URL被改變。這會觸發loadstop事件嗎?如果是的話,爲什麼我不能得到它的工作。如果不是,我該如何執行此操作?

回答

0

1.html中,將代碼從window.href.location = '2.html';更改爲window.location.href = '2.html';。然後,當您使用1.html並點擊按鈕時,它實際上會更改網址並提醒新網址。

1

您需要檢查in.xml中的inappbrowser插件是否在config.xml中正確配置。這可以在在線phonegap構建部分或在config.xml中驗證。

在config.xml中機器人的配置是:

<gap:plugin name="org.apache.cordova.inappbrowser" /> 
+1

謝謝。我有同樣的問題,那就是解決方案。我很困惑,因爲'window.open'好像沒有添加這個插件就可以工作。但是需要處理事件! –