web-dev-qa-db-fra.com

Débogage Javascript pour Windows Phone 8 IE10

IE10 apporte quelques améliorations remarquables dans le domaine de la conformité au HTML5, mais reste un atout pour développer JavaScript en HTML5 lors de son exécution sur le WP8, car il n’existe aucun moyen de déboguer l’application à l’exception des messages de la console.

Existe-t-il une expérience de débogage à distance disponible pour IE10 fonctionnant sur WP8, à l'instar des navigateurs de téléphone WebKit (voir ma vidéo à http://www.youtube.com/watch?v=GNAjzFpNEj4 par exemple). Lorsque cela est en place avec un câble USB vers le poste de travail, le débogage des applications Javascript par Safari sur IOS est simple, car des points d'arrêt peuvent être définis et les variables examinées dans le débogueur distant. J'espère que les mêmes capacités sont dans IE10 et apprécierais toute information sur où activer ces capacités indispensables.

23
John Mcfetridge

La mauvaise, c'est qu'il n'y a pas de nouvelles capacités de débogage par rapport à WP7/IE9. Jetez un coup d'œil sur Comment déboguer Internet Explorer sur Windows Phone 7? puisque nous sommes exactement dans la même situation sur WP8.

Ce que j'utilise personnellement quotidiennement

  1. Déboguez votre application dans IE10 Desktop autant que possible

  2. Weinre débogueur distant. Vidéo de démonstration. Vous pouvez utiliser l'application suivante basée sur Weinre pour simplifier son utilisation (aucune configuration locale n'est requise) - IeMobileDebugger src ou lien vers Store

    Les soutiens

    Html traversant Styles de nœuds HTML, propriétés, métriques Lecture de la sortie de la console Exécution de js côté périphérique à partir de la console (y compris intellisense) Injection de script dynamique - possibilité de déboguer des sites dynamiques.

    Non supporté

    js points d'arrêt

  3. Pour le débogage ligne par ligne javascript, utilisez aardwolf . Démo avec intégration VS .

  4. Pour rediriger la trace de la console vers la sortie Visual Studio et pouvoir utiliser console.log ("un message") pour le traçage

index.html:

<script type="text/javascript">
    window.console = {
        log: function (str) { window.external.Notify(str); }
    };

    // output errors to console log
    window.onerror = function (e) {
        console.log("window.onerror ::" + JSON.stringify(e));
    };

    console.log("Installed console !");
</script>

MainPage.xaml.cs

private void Browser_Loaded(object sender, RoutedEventArgs e)
{
    Browser.IsScriptEnabled = true;
    // Add your URL here
    Browser.Navigate(new Uri(MainUri, UriKind.Relative));

    Browser.ScriptNotify += (s, arg) =>
    {
        Debug.WriteLine(arg.Value);
    };           
}
22
Sergei Grebnov
16
mikaraento

Bien que la solution consolelog.js de Lauri Piispanen ne soit pas une solution complète, un consignateur de console JS distant basé sur un nœud pourrait vous aider.

0
Esko