console.log

Pour toutes les discussions javascript, jQuery et autres frameworks
Répondre
GeGaX
Messages : 15
Enregistré le : 20 févr. 2018, 21:56

console.log

Message par GeGaX » 02 mai 2018, 08:05

Bonjour ;)
Je rencontre un soucis de placement de console.log pour contrôler 3 valeurs

Voici le code

Code : Tout sélectionner

"use strict";

const pattern = /updi\(event,'([0-9]{4}-[0-9]{2}-[0-9]{2}) ([0-9]{2}:[0-9]{2}) ([A-Z]{3,4}).*(T[+-]{1}.*?[0-9]{1,}:[0-9]{2}).*<br>Distances:.*?([0-9]{1,}\.[0-9]{1,}nm)\/([0-9]{1,}\.[0-9]{1,}nm)<br><b>Wind:<\/b> ([0-9]*?.*) (.*? kt).*\(<b>TWA(.*?)<\/b>\)<br><b>Heading:<\/b>(.*?)<b>Sail:<\/b>(.*?)<br><b>Boat Speed:<\/b>(.*?)'/g
const points = [];

function getLongitude(left,scale){
    if(((left +2 / scale) <= 180)){
        return (left + 2) / scale;
    } else {
        return ((left  + 2) / scale) - 360
    }
}

function getLatitude(top, scale) {
    return 90 - ((top + 2) / scale);
}

try {
    let textContent = document.getElementsByTagName("script")[1].textContent;
    let scale = /var scale = ([0-9]+)/.exec(textContent)[1]; // cette valeur

    let layer = document.getElementById("dot_layer");
    Array.prototype.slice.call(layer.getElementsByTagName("img")).forEach(function (element) {
        let event = element.getAttribute("onmouseover");
        if (event !== null) {

            // Get the two css properties used to calculate both longitude and latitude
            let style = element.getAttribute("style");
            let cssProperties = style.split(";");
            let left = cssProperties[1].split(":")[1].replace("px","").replace("-",""); // cette valeur
            let top =  cssProperties[2].split(":")[1].replace("px","").replace("-",""); // cette valeur
            let match = pattern.exec(event);

            const date = match[1];
            const time = match[2];
            const timezone = match[3];
            const ttw = match[4];
            const dtw = match[5];
            const dtg = match[6];
            const twd = match[7];
            const tws = match[8];
            const twa = match[9];
            const btw = match[10];
            const sail = match[11];
            const stw = match[12];
		   
            points.push({
                longitude : getLongitude(left,scale),
                latitude : getLatitude(top,scale),
                date : date,
                time : time,
                timezone : timezone,
                ttw : ttw,
                dtw : dtw,
                dtg : dtg,
                twd : twd,
                tws : tws,
                twa : twa,
                btw : btw,
                sail : sail,
                stw : stw
           });
            pattern.lastIndex = 0;
        }
    });

    chrome.runtime.sendMessage(points);
} catch (e) {
    console.error(e);
    chrome.runtime.sendMessage([]);
}


J'ai besoin de visualiser les valeurs des variables "scale" ; "left" et "top" (commenter "cette valeur" dans le code)
Quelqu'un aurait la gentillesse de m'indiquer où les placer pour que je puisse visualiser ça dans la console des outils de développement de chrome ?
Merci

Avatar du membre
Frosty
Messages : 111
Enregistré le : 20 juil. 2017, 13:23
Localisation : Grenoble

Re: console.log

Message par Frosty » 02 mai 2018, 11:15

Salut,
Pas difficile, juste après chaque ligne du genre

Code : Tout sélectionner

let mavariable = ...
où tu veux voir la valeur de "mavariable", tu fais :

Code : Tout sélectionner

console.log('mavariable = ', mavariable)
Voir en détail : http://www.toutjavascript.com/savoir/na ... script.php

GeGaX
Messages : 15
Enregistré le : 20 févr. 2018, 21:56

Re: console.log

Message par GeGaX » 04 mai 2018, 20:51

Slut Frosty ;)

J'ai suivi tes conseils pour les console.log mais ça ne fonctionne pas :(

Le code fourni dans le premier post est mon fichier myscript.js lorsque j'affiche mon tableau ce sont les fichiers popup.html / popup.js que je peux visualiser dans la console
Sur myscript.js les console.log sont implémentés y'a t'il un moyen de les récupérer sur popup.js ? et donc de les visualiser dans la console de chrome

Avatar du membre
Frosty
Messages : 111
Enregistré le : 20 juil. 2017, 13:23
Localisation : Grenoble

Re: console.log

Message par Frosty » 07 mai 2018, 15:48

J'ai du mal à comprendre...
Il me manque des infos...
popup.html et popup.js c'est le code de l'extension Chrome sur laquelle tu travailles ?
myscript.js est exécuté quand / comment ? sur une autre page ? ou fait-il partie de l'extension également ?

Répondre