Bonjour, j'utilises actuellement piwik pour faire de l'analytique sur mon ERP. L'outil est bon, il me prends bien le titre des pages mais je cherche a faire des choses supplémentaires afin d'avoir plus d'info.
Les pages sont auto générées, je ne contrôle pas les balises.
Si je cliques sur un élément de menu j'ai ce code HTML :
<SCRIPT>var titleDecoder = document.createElement('span');
titleDecoder.innerHTML = "Révision du répertoire d'adresses - Accès aux numéros de référence";
try{ parent.document.title=(document.all?titleDecoder.innerText:titleDecoder.textContent);}catch(problem){}</SCRIPT>
Piwik va bien me chercher comme titre : Révision du répertoired'adresses - Accès aux numéros de référence.
Dans la même page j'ai ça :
<SPAN style="display: none" id="formOID">P01012_W01012B_ZJDE0001</SPAN>
Si mon titre à des / j'arrive à remplacer par - mais je n'arrive pas à récupérer la valeur du SPAN :
// Supprimer les / du titre
var tmp = document.getElementsByTagName('title');
var tmp2 = tmp[0].text.replace('/','-');
_paq.push(["setDocumentTitle", tmp2]);
//ajout du nom d'appli JDE
//var tmp3 = document.getElementById('formOID');
//var tmp3 = document.getElementById('E1PaneForm');
//if (tmp3)
//{
//var tmp4 = tmp3.innerHTML() ;
//var tmp4 = tmp3.name() ;
//var tmp5 = tmp4 + '_' + tmp2;
//_paq.push(["setDocumentTitle", tmp5]);
//}
Pouvez vous m'aider à comprendre car piwik me sort du "undefined"
De plus sur l'écran d'acceuil de l'ERP, j'ai le login :
<TABLE class="loginFrameTable loginFrameTableMargin" cellpadding=0 cellspacing=0><tr><td align="center">
<FORM class="FORM" NAME="F1" ID="F1" METHOD="POST" ACTION="http://srve1wbr.saria.fr:93/jde/E1Menu.maf">
<INPUT TYPE=hidden NAME="jdeowpBackButtonProtect" ID="jdeowpBackButtonProtect" VALUE="">
<TABLE>
<TR><TD class="loginText" NOWRAP><LABEL FOR="User">User ID:</LABEL></TD><TD><INPUT SIZE=15 class="textfield" TYPE=text NAME="User" ID="User" VALUE="" ></TD></TR>
<TR><TD class="loginText" NOWRAP><LABEL FOR="Password">Password:</LABEL></TD><TD><INPUT SIZE=15 maxlength="10" class="textfield" TYPE=password NAME="Password" ID="Password" VALUE=""></TD></TR>
Je voudrais récupérer ID="User" => la valeur rentrée convertie en majuscule.
Une fois connecté sur les pages, ce nom apparait en dur (valeur BUFFETAUD dans l'exemple) :
<body class="tebody">
<div id="topnav">
<table width="100%" cellspacing="0" cellpadding="0">
<tr height="46">
<td id=topimagecell class="topimagecell">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr><td width="10%"><table class="pagelogo"><tr><td> </td></tr></table>
</td>
<td align="right" valign="top" width="90%" nowrap class=toptext>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td align="right"><img width="2" height="17" src="/jde/share/images/spacer.gif" ALT="">BUFFETAUD</td><td align="right"><img width="6" height="17" src="/jde/share/images/spacer.gif" ALT="">[JPY812] </td></tr>
<tr><td colspan="2"><img width="2" height="5" src="/jde/share/images/spacer.gif" ALT=""></td></tr><tr>
<td colspan=2 align="right"><iframe tabindex="-1" id="LOGOUT_IFRAME" name="LOGOUT_IFRAME" title="Déconnecter" width=0 height=0 scrolling=no frameborder=0 src="/jde/share/https_dummy.html"></iframe><a href="/jde/BHConnectionControler.mafService?e1.mode=view&e1.state=maximized&RENDER_MAFLET=E1Menu&e1.service=BHConnectionControler&e1.namespace=&targetView=logout" target="LOGOUT_IFRAME"><img src='/jde/share/images/circle-arrow.gif' onmouseout="src='/jde/share/images/circle-arrow.gif'" onmouseover="src='/jde/share/images/circle-arrow_mo.gif'" style="CURSOR: pointer" onclick="" align=absMiddle border=0></a> <a href="/jde/BHConnectionControler.mafService?e1.mode=view&e1.state=maximized&RENDER_MAFLET=E1Menu&e1.service=BHConnectionControler&e1.namespace=&targetView=logout" target="LOGOUT_IFRAME" style="text-decoration: none;">Déconnecter</a> </td>
</tr>
</table>
</td></tr>
</table>
</td>
</tr>
</table>
</div>
Comment récupérer ces valeurs?
Pour info pour ceux qui connaissent piwik voici mon script :
<!-- Piwik -->
//<script type="text/javascript">
var _paq = _paq || [];
_paq.push(["setCookieDomain", "*.URLs: http"]);
// you can set up to 5 custom variables for each visitor
//user jde
var jdeUserID = document.getElementById('User');
if (jdeUserID)
{
var nomuser=jdeUserID.value;
_paq.push(['setCustomVariable', 1, "NOM", nomuser , "visit"]);
}
// Supprimer les / du titre
var tmp = document.getElementsByTagName('title');
var tmp2 = tmp[0].text.replace('/','-');
_paq.push(["setDocumentTitle", tmp2]);
//ajout du nom d'appli JDE
//var tmp3 = document.getElementById('formOID');
//var tmp3 = document.getElementById('E1PaneForm');
//if (tmp3)
//{
//var tmp4 = tmp3.innerHTML() ;
//var tmp4 = tmp3.name() ;
//var tmp5 = tmp4 + '_' + tmp2;
//_paq.push(["setDocumentTitle", tmp5]);
//}
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
_paq.push(['trackAllContentImpressions']);
(function() {
var u="//serverocs/piwik/";
_paq.push(['setTrackerUrl', u+'piwik.php']);
_paq.push(['setSiteId', 1]);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
})();
//</script>
//<noscript><p><img src="//serverocs/piwik/piwik.php?idsite=1" style="border:0;" alt="" /></p></noscript>
Bonsoir.
Commences déja par mettre correctement le code dans la balise correspondante.
Si je cliques sur un élément de menu j'ai ce code HTML :
var titleDecoder = document.createElement('span'); titleDecoder.innerHTML = "Révision du répertoire d'adresses - Accès aux numéros de référence"; try{ parent.document.title=(document.all?titleDecoder.innerText:titleDecoder.textContent);}catch(problem){}
C'est du javascript et non du HTML.
Pour terminer, tes images, nous ne les voyons pas.
Pour commencer le script de surveillance piwik est installé dans un . js qui est appellé dans toutes les pages issues de l'ERP:
<SCRIPT LANGUAGE="JavaScript" SRC='/jde/share/js/webgui.js'></SCRIPT>
Voici le script piwik en entier :
<!-- Piwik -->
//<script type="text/javascript">
var _paq = _paq || [];
_paq.push(["setCookieDomain", "*.URLs: http"]);
// you can set up to 5 custom variables for each visitor
//user jde
var jdeUserID = document.getElementById('User');
if (jdeUserID)
{
var nomuser=jdeUserID.value;
_paq.push(['setCustomVariable', 1, "NOM", nomuser , "visit"]);
}
// Supprimer les / du titre
var tmp = document.getElementsByTagName('title');
var tmp2 = tmp[0].text.replace('/','-');
paq.push(["setDocumentTitle", tmp2]);
//ajout du nom d'appli JDE
//var tmp3 = document.getElementById('formOID');
//var tmp3 = document.getElementById('E1PaneForm');
//if (tmp3)
//{
//var tmp4 = tmp3.innerHTML() ;
//var tmp4 = tmp3.name() ;
//var tmp5 = tmp4 + '' + tmp2;
//_paq.push(["setDocumentTitle", tmp5]);
//}
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
_paq.push(['trackAllContentImpressions']);
(function() {
var u="//serverocs/piwik/";
_paq.push(['setTrackerUrl', u+'piwik.php']);
_paq.push(['setSiteId', 1]);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
})();
//</script>
//<noscript><p><img src="//serverocs/piwik/piwik.php?idsite=1" style="border:0;" alt="" /></p></noscript>
Dans l'écran de login de l'ERP je voudrais récupérer donc l'ID de l'utilisateur afin de l'ajouter en variable au scope de visite pour faire des rapports spécifiques.
Voici le code intéressant de cet écran :
<tr><td>
<TABLE class="loginFrameTable loginFrameTableMargin" cellpadding=0 cellspacing=0><tr><td align="center">
<FORM class="FORM" NAME="F1" ID="F1" METHOD="POST" ACTION="http://srve1wbr.saria.fr:93/jde/E1Menu.maf">
<INPUT TYPE=hidden NAME="jdeowpBackButtonProtect" ID="jdeowpBackButtonProtect" VALUE="">
<TABLE>
<TR><TD class="loginText" NOWRAP><LABEL FOR="User">User ID:</LABEL></TD><TD><INPUT SIZE=15 class="textfield" TYPE=text NAME="User" ID="User" VALUE="" ></TD></TR>
<TR><TD class="loginText" NOWRAP><LABEL FOR="Password">Password:</LABEL></TD><TD><INPUT SIZE=15 maxlength="10" class="textfield" TYPE=password NAME="Password" ID="Password" VALUE=""></TD></TR>
Je voudrais donc avoir la balsie avec l'ID : ID="User".
Ce utilisateur connecté est répéte dans toutes les pages (ici BUFFETAUD) avec ce code:
<body class="tebody">
<div id="topnav">
<table width="100%" cellspacing="0" cellpadding="0">
<tr height="46">
<td id=topimagecell class="topimagecell">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr><td width="10%"><table class="pagelogo"><tr><td> </td></tr></table>
</td>
<td align="right" valign="top" width="90%" nowrap class=toptext>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td align="right"><img width="2" height="17" src="/jde/share/images/spacer.gif" ALT="">BUFFETAUD</td><td align="right"><img width="6" height="17" src="/jde/share/images/spacer.gif" ALT="">[JPY812] </td></tr>
<tr><td colspan="2"><img width="2" height="5" src="/jde/share/images/spacer.gif" ALT=""></td></tr><tr>
<td colspan=2 align="right"><iframe tabindex="-1" id="LOGOUT_IFRAME" name="LOGOUT_IFRAME" title="D꤯nnecter" width=0 height=0 scrolling=no frameborder=0 src="/jde/share/https_dummy.html"></iframe><a href="/jde/BHConnectionControler.mafService?e1.mode=view&e1.state=maximized&RENDER_MAFLET=E1Menu&e1.service=BHConnectionControler&e1.namespace=&targetView=logout" target="LOGOUT_IFRAME"><img src='/jde/share/images/circle-arrow.gif' onmouseout="src='/jde/share/images/circle-arrow.gif'" onmouseover="src='/jde/share/images/circle-arrow_mo.gif'" style="CURSOR: pointer" onclick="" align=absMiddle border=0></a> <a href="/jde/BHConnectionControler.mafService?e1.mode=view&e1.state=maximized&RENDER_MAFLET=E1Menu&e1.service=BHConnectionControler&e1.namespace=&targetView=logout" target="LOGOUT_IFRAME" style="text-decoration: none;">D꤯nnecter</a> </td>
</tr>
</table>
</td></tr>
</table>
</td>
</tr>
</table>
</div>
Je voudrais aussi donc récupérer la valeur BUFFETAUD.
Ensuite chque pages à son titre que PIWIK sait récupérer (mon bout de script remplace les / par des -) mais il y a comme info supplémentaire le nom réel de l'application de l'ERP qui pour un admin est importante pour des rapports, voici le code ou c'est stocké (ici P01012_W01012B_ZJDE001):
<script>jasmafRegisterOnLoad("OnLoadMethods()");jasmafRegisterOnResize("JSCompMgr.onResize('')");</script>
<form style="margin: 0px 0px 0px 0px;" name=prot action=/jde/E1Client.mafService?e1.mode=view&e1.state=maximized&RENDER_MAFLET=E1Menu&e1.service=E1Client&e1.namespace= method=post><input type=hidden name=visit></form>
<form style="display: none;" name=blankpost action=/jde/E1Client.mafService?1.mode=view&e1.state=maximized&RENDER_MAFLET=E1Menu&e1.service=E1Client&e1.namespace= method=post></form>
<SPAN style="display: none" id="formOID">P01012_W01012B_ZJDE0001</SPAN>
<FORM style="margin: 0px 0px 0px 0px;" ACTION='javascript:void(0);' id="E1PaneForm" NAME="P01012_W01012B" METHOD=post>
<input type=hidden name="jdemafjascacheUID" value="222"><input type=hidden name="jdemafjasComponent" value="JDE_HTMLCLIENT"><input type=hidden name="jdemafjasUID" value="1"><input type=hidden name="jdemafjasLauncher" value="PSFT_TE_V3_SW"><input type=hidden name="portletstateparameter" value="normal">
<INPUT TYPE=hidden NAME=cmd>
<INPUT TYPE=hidden NAME=evtSeq>
<INPUT TYPE=hidden NAME=ActiveXSupported value="true">
<INPUT TYPE=hidden NAME=pgIDKey VALUE="0" ><SCRIPT> var mafLoopURL = "/jde/E1Client.mafService?jdemafjascacheUID=222&e1.mode=view&e1.state=maximized&RENDER_MAFLET=E1Menu&jdemafjasLauncher=PSFT_TE_V3_SW&e1.service=E1Client&e1.namespace=&jdemafjasComponent=JDE_HTMLCLIENT&jdemafjasUID=1"; var mafCloseURL = "/jde/E1Client.mafService?jdemafjascacheUID=222&e1.mode=view&e1.state=maximized&RENDER_MAFLET=E1Menu&jdemafjasLauncher=PSFT_TE_V3_SW&e1.service=E1Client&e1.namespace=&jdemafjasComponent=JDE_HTMLCLIENT&jdemafjasUID=1";</SCRIPT>
<INPUT TYPE=hidden NAME=activeElement>
Les noms d'aplli étant dynamiques en fonction de ce qui à été choisi dans le menu, je n'ai pas la main pour changer la manière est généré le code HTML.
Bref merci de ton aide en tous cas.
Les images que tu ne vois pas contiennent en src : /jde/share/images/spacer.gif
Pour commencer le script de surveillance piwik est installé dans un . js qui est appellé dans toutes les pages issues de l'ERP:
<SCRIPT LANGUAGE="JavaScript" SRC='/jde/share/js/webgui.js'></SCRIPT>
Voici le script piwik en entier :
<!-- Piwik -->
//<script type="text/javascript">
var _paq = _paq || [];
_paq.push(["setCookieDomain", "*.URLs: http"]);
// you can set up to 5 custom variables for each visitor
//user jde
var jdeUserID = document.getElementById('User');
if (jdeUserID)
{
var nomuser=jdeUserID.value;
_paq.push(['setCustomVariable', 1, "NOM", nomuser , "visit"]);
}
// Supprimer les / du titre
var tmp = document.getElementsByTagName('title');
var tmp2 = tmp[0].text.replace('/','-');
_paq.push(["setDocumentTitle", tmp2]);
//ajout du nom d'appli JDE
//var tmp3 = document.getElementById('formOID');
//var tmp3 = document.getElementById('E1PaneForm');
//if (tmp3)
//{
//var tmp4 = tmp3.innerHTML() ;
//var tmp4 = tmp3.name() ;
//var tmp5 = tmp4 + '_' + tmp2;
//_paq.push(["setDocumentTitle", tmp5]);
//}
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
_paq.push(['trackAllContentImpressions']);
(function() {
var u="//serverocs/piwik/";
_paq.push(['setTrackerUrl', u+'piwik.php']);
_paq.push(['setSiteId', 1]);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
})();
//</script>
//<noscript><p><img src="//serverocs/piwik/piwik.php?idsite=1" style="border:0;" alt="" /></p></noscript>
Dans l'écran de login de l'ERP je voudrais récupérer donc l'ID de l'utilisateur afin de l'ajouter en variable au scope de visite pour faire des rapports spécifiques.
Voici le code intéressant de cet écran :
<tr><td>
<TABLE class="loginFrameTable loginFrameTableMargin" cellpadding=0 cellspacing=0><tr><td align="center">
<FORM class="FORM" NAME="F1" ID="F1" METHOD="POST" ACTION="http://srve1wbr.saria.fr:93/jde/E1Menu.maf">
<INPUT TYPE=hidden NAME="jdeowpBackButtonProtect" ID="jdeowpBackButtonProtect" VALUE="">
<TABLE>
<TR><TD class="loginText" NOWRAP><LABEL FOR="User">User ID:</LABEL></TD><TD><INPUT SIZE=15 class="textfield" TYPE=text NAME="User" ID="User" VALUE="" ></TD></TR>
<TR><TD class="loginText" NOWRAP><LABEL FOR="Password">Password:</LABEL></TD><TD><INPUT SIZE=15 maxlength="10" class="textfield" TYPE=password NAME="Password" ID="Password" VALUE=""></TD></TR>
Je voudrais donc avoir la balsie avec l'ID : ID="User".
Ce utilisateur connecté est répéte dans toutes les pages (ici BUFFETAUD) avec ce code:
<body class="tebody">
<div id="topnav">
<table width="100%" cellspacing="0" cellpadding="0">
<tr height="46">
<td id=topimagecell class="topimagecell">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr><td width="10%"><table class="pagelogo"><tr><td> </td></tr></table>
</td>
<td align="right" valign="top" width="90%" nowrap class=toptext>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td align="right"><img width="2" height="17" src="/jde/share/images/spacer.gif" ALT="">BUFFETAUD</td><td align="right"><img width="6" height="17" src="/jde/share/images/spacer.gif" ALT="">[JPY812] </td></tr>
<tr><td colspan="2"><img width="2" height="5" src="/jde/share/images/spacer.gif" ALT=""></td></tr><tr>
<td colspan=2 align="right"><iframe tabindex="-1" id="LOGOUT_IFRAME" name="LOGOUT_IFRAME" title="D?nnecter" width=0 height=0 scrolling=no frameborder=0 src="/jde/share/https_dummy.html"></iframe><a href="/jde/BHConnectionControler.mafService?e1.mode=view&e1.state=maximized&RENDER_MAFLET=E1Menu&e1.service=BHConnectionControler&e1.namespace=&targetView=logout" target="LOGOUT_IFRAME"><img src='/jde/share/images/circle-arrow.gif' onmouseout="src='/jde/share/images/circle-arrow.gif'" onmouseover="src='/jde/share/images/circle-arrow_mo.gif'" style="CURSOR: pointer" onclick="" align=absMiddle border=0></a> <a href="/jde/BHConnectionControler.mafService?e1.mode=view&e1.state=maximized&RENDER_MAFLET=E1Menu&e1.service=BHConnectionControler&e1.namespace=&targetView=logout" target="LOGOUT_IFRAME" style="text-decoration: none;">D?nnecter</a> </td>
</tr>
</table>
</td></tr>
</table>
</td>
</tr>
</table>
</div>
Je voudrais aussi donc récupérer la valeur BUFFETAUD.
Ensuite chque pages à son titre que PIWIK sait récupérer (mon bout de script remplace les / par des -) mais il y a comme info supplémentaire le nom réel de l'application de l'ERP qui pour un admin est importante pour des rapports, voici le code ou c'est stocké (ici P01012_W01012B_ZJDE001):
<script>jasmafRegisterOnLoad("OnLoadMethods()");jasmafRegisterOnResize("JSCompMgr.onResize('')");</script>
<form style="margin: 0px 0px 0px 0px;" name=prot action=/jde/E1Client.mafService?e1.mode=view&e1.state=maximized&RENDER_MAFLET=E1Menu&e1.service=E1Client&e1.namespace= method=post><input type=hidden name=visit></form>
<form style="display: none;" name=blankpost action=/jde/E1Client.mafService?1.mode=view&e1.state=maximized&RENDER_MAFLET=E1Menu&e1.service=E1Client&e1.namespace= method=post></form>
<SPAN style="display: none" id="formOID">P01012_W01012B_ZJDE0001</SPAN>
<FORM style="margin: 0px 0px 0px 0px;" ACTION='javascript:void(0);' id="E1PaneForm" NAME="P01012_W01012B" METHOD=post>
<input type=hidden name="jdemafjascacheUID" value="222"><input type=hidden name="jdemafjasComponent" value="JDE_HTMLCLIENT"><input type=hidden name="jdemafjasUID" value="1"><input type=hidden name="jdemafjasLauncher" value="PSFT_TE_V3_SW"><input type=hidden name="portletstateparameter" value="normal">
<INPUT TYPE=hidden NAME=cmd>
<INPUT TYPE=hidden NAME=evtSeq>
<INPUT TYPE=hidden NAME=ActiveXSupported value="true">
<INPUT TYPE=hidden NAME=pgIDKey VALUE="0" ><SCRIPT> var mafLoopURL = "/jde/E1Client.mafService?jdemafjascacheUID=222&e1.mode=view&e1.state=maximized&RENDER_MAFLET=E1Menu&jdemafjasLauncher=PSFT_TE_V3_SW&e1.service=E1Client&e1.namespace=&jdemafjasComponent=JDE_HTMLCLIENT&jdemafjasUID=1"; var mafCloseURL = "/jde/E1Client.mafService?jdemafjascacheUID=222&e1.mode=view&e1.state=maximized&RENDER_MAFLET=E1Menu&jdemafjasLauncher=PSFT_TE_V3_SW&e1.service=E1Client&e1.namespace=&jdemafjasComponent=JDE_HTMLCLIENT&jdemafjasUID=1";</SCRIPT>
<INPUT TYPE=hidden NAME=activeElement>
Les noms d'aplli étant dynamiques en fonction de ce qui à été choisi dans le menu, je n'ai pas la main pour changer la manière est généré le code HTML.
Bref merci de ton aide en tous cas.
Les images que tu ne vois pas contiennent en src : /jde/share/images/spacer.gif