2017-06-21 3 views
0

J'utilise le code ci-dessous pour rediriger les utilisateurs vers une page d'erreur lorsque mon application Web reçoit une erreur du serveur. Mais lorsqu'une erreur se produit dans les iframes (pas dans la page Web elle-même), l'erreur n'est pas détectée.Comment faire pour attraper l'erreur de iframe dans une vue Web Android

p.s .: J'ai utilisé fancybox pour certaines opérations et fancybox ouvre iframe dans certains cas.

Répondre

0

Peut-être ajouter une JavascriptInterface à votre webview?

JavaScriptInterface interface = new JavaScriptInterface(this); 
webview.addJavascriptInterface(JSInterface, "interface"); 

public class JavaScriptInterface { 
    Context mContext; 

    /** Instantiate the interface and set the context */ 
    JavaScriptInterface(Context c) { 
     mContext = c; 
    } 
    @JavascriptInterface 
    public void doSomething() 
    { 
    } 
} 

Et le côté Javascript:

<script type="text/javascript"> 
    function execute() 
    { 
    JSInterface.doSomething(); 
    } 
</script> 

<input type="button" value="Click me!" onclick="execute()" /> 
+0

Voulez-vous dire que je prends des erreurs iframe par javascript et passer à Android? –

+0

Alors, comment puis-je définir un écouteur global à n'importe quel type d'erreur en utilisant javascript? –

+0

Oui, je veux attraper l'erreur de votre script, puis passer à une méthode Android JS. Peut-être pas la meilleure solution, mais je ne peux vraiment pas penser à rien, et les iframes ont tendance à être un problème, surtout avec les vues web. –