2016-04-04 63 views
0

我無法覆蓋Android上的WebviewClient函數shouldInterceptRequest。獲取沒有錯誤,但該函數未被調用。我錯過了什麼?覆蓋Android上的函數shouldInterceptRequest

函數的文檔shouldInterceptRequest(); http://developer.android.com/reference/android/webkit/WebViewClient.html

if(application.android){ 
    try{ 
     android.webkit.WebViewClient.extend({ 
       shouldInterceptRequest: function(_webView,webResourceRequest){ 
        alert('shouldInterceptRequest is called');        
        return null; 
      } 
     }); 
    }catch(e){      
      alert(e.message); 
    } 
} 

回答

0

我沒有看到你設置你的WebViewClientWebView。嘗試做類似:

var myWebView = page.getViewById("myWebView"); 
    if (myWebView.android) { 
     try { 
      var MyWebViewClient = android.webkit.WebViewClient.extend({ 
       shouldInterceptRequest: function(_webView,webResourceRequest){ 
        alert('shouldInterceptRequest is called');        
        return null; 
      } 
      }); 
      myWebView.android.setWebViewClient(new MyWebViewClient()); 
     } catch(e) {      
       alert(e.message); 
     } 
    } 
+0

很棒的示例非常感謝。它在webview上完美運行。我錯過了這行:myWebView.android.setWebViewClient(new MyWebViewClient());與nativescript-webview-interface結合使用時存在問題。 https://github.com/shripalsoni04/nativescript-webview-interface。我將在那裏報告問題。我沒有收到任何錯誤,但內容不可見。 – Stavanger75