Bonjour,
J’essaie de récupérer des données SharePoint en mode asychrone avant de faire l’appel à Piwik.
Mais ça ne fonctionne pas :
// Load client libraries on demand.
ExecuteOrDelayUntilScriptLoaded(function(){
ExecuteOrDelayUntilScriptLoaded(function(){
var clientContext = new SP.ClientContext();
var site = clientContext.get_site();
var rootWeb = site.get_rootWeb();
var web = clientContext.get_web();
var user = web.get_currentUser();
clientContext.load(site);
clientContext.load(rootWeb);
clientContext.load(web);
clientContext.load(user);
var listId = _spPageContextInfo.pageListId;
var itemId = _spPageContextInfo.pageItemId;
var list = null;
var item = null;
if (listId != null){
list = web.get_lists().getById(listId);
clientContext.load(list, 'Title', 'DefaultViewUrl');
if (itemId != null){
item = list.getItemById(itemId);
clientContext.load(item, 'Id', 'DisplayName');
}
}
function SPPiwikSend(){
var SiteCollectionTitle = rootWeb.get_title();
var SiteCollectionUrl = site.get_url();
var SiteTitle = web.get_title();
var SiteUrl = web.get_url();
var ListID = listId;
var ListTitle = (list ? list.get_title() : '');
var ListUrl = (list ? list.get_defaultViewUrl() : '');
var ItemID = itemId;
var ItemName = (item ? item.get_displayName() : '');
var UserName = user.get_title();
var _paq = _paq || [];
_paq.push(['setUserId', loginName]);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u='//analytics.pierre-fabre.net/';
_paq.push(['setTrackerUrl', u+'piwik.php']);
_paq.push(['setSiteId', '2']);
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);
})();
}
function SPPiwikError(errObj, errMsg){
// Optional error handling.
}
clientContext.executeQueryAsync(Function.createDelegate(this, SPPiwikSend), Function.createDelegate(this, SPPiwikError));
}, 'SP.js');
}, 'SP.Runtime.js');
Avez vous une idée ?
Merci