Quantcast
Channel: LivePerson Connect : Popular Discussions - All Communities
Viewing all articles
Browse latest Browse all 2324

Question about Dynamic Buttons

$
0
0

I am developer with new company and they have Liveperson already integrated into the site.  I am having a hard time making a simple change and can't find where to change code on our side and looking for a little guidance.

 

You will see my js file after describing my issue.  It is currently setup to look for the specific skill from the page it is on to see if chat is available.  If it is it will show the chat link, if not it shows nothing.  I simple want to create this in a second location.  Currently it is in the right nav and I also want to put it in the header.

 

The page is built for that section with a simple div tag that is coded like this <div id="lpButton"></div>

 

When the page is loading and chat is available that div tag gets and update and will now show this.

 

<div id="lpButton" style="visibility: visible;">

<a class="clickable" onclick="lpMTagConfig.dynButton0.actionHook();">
<img id="chatimage" align="middle" src="/images/buttons_icons/icon-c2c.png">
Click to chat »
</a>
</div>
For the life of me I can't figure out where it gets the call to update with that information.  I have done a search on all files in website for many of the names and varibles that it gets updated too and I can't find anything.
Secondly if I add another div tag directly below the working one with the same id or id of lpButton1 it does not get updated.
I may be missing what I am looking for but I thought I would put out a request to see if anyone has any ideas.
Thanks

 

var lpMTagConfig = {
//Not showing for security reasons
};
lpMTagConfig.deploymentConfigPath = lpMTagConfig.lpTagSrv+'/visitor/addons/deploy.asp';
lpMTagConfig.lpLoadScripts = function(){    lpAddMonitorTag(lpMTagConfig.lpProtocol + '://' + lpMTagConfig.deploymentConfigPath + '?site=' + lpMTagConfig.lpNumber + '&d_id=' + lpMTagConfig.deploymentID);
}
function lpAddMonitorTag(src) {    if (!lpMTagConfig.lpTagLoaded) {if (typeof(src) == 'undefined' || typeof(src) == 'object') {if (lpMTagConfig.lpMTagSrc) {src = lpMTagConfig.lpMTagSrc;}else {if (lpMTagConfig.lpTagSrv) {src = lpMTagConfig.lpProtocol + '://' +lpMTagConfig.lpTagSrv + '/hcp/html/mTag.js';}else {src = '/hcp/html/mTag.js';};};};if (src.indexOf('http') != 0) {src = lpMTagConfig.lpProtocol + '://' + lpMTagConfig.lpServer + src + '?site=' + lpMTagConfig.lpNumber;} else {if (src.indexOf('site=') < 0) {if (src.indexOf('?') < 0) {src = src + '?';} else{src = src + '&';} src = src + 'site=' + lpMTagConfig.lpNumber;  };};var s = document.createElement('script');s.setAttribute('type', 'text/javascript');s.setAttribute('charset', 'iso-8859-1');s.setAttribute('src', src);document.getElementsByTagName('head').item(0).appendChild(s);}
}       
//The code below send a PAGEVAR to LP with the time [in seconds] it took the page to load. Code is executed in the onload event
lpMTagConfig.calculateSentPageTime = function () {    var t = (new Date()).getTime() - lpMTagConfig.pageStartTime;    lpAddVars('page','pageLoadTime', Math.round(t/1000)+' sec');
};
//Variables Arrays - By Scope
if (typeof(lpMTagConfig.pageVar)=='undefined') { lpMTagConfig.pageVar = []; }
if (typeof(lpMTagConfig.sessionVar)=='undefined') { lpMTagConfig.sessionVar = []; }
if (typeof(lpMTagConfig.visitorVar)=='undefined') { lpMTagConfig.visitorVar = []; }
//Extra actions to be taken once the code executes
if (typeof(lpMTagConfig.onLoadCode)=='undefined') { lpMTagConfig.onLoadCode = []; }
//Dynamic Buttons Array
if(typeof(lpMTagConfig.dynButton)=='undefined') { lpMTagConfig.dynButton = []; }
// This need to be add to afterStartPage will work
if(typeof(lpMTagConfig.ifVisitorCode)=='undefined') {lpMTagConfig.ifVisitorCode = []; }
// Function that sends variables to LP - By Scope
function lpAddVars(scope,name,value) {    if (name.indexOf('OrderTotal')!=-1 || name.indexOf('OrderNumber')!=-1){        if  (value=='' || value==0) return; // pass 0 value to all but OrderTotal        else lpMTagConfig.sendCookies = false    }       value=lpTrimSpaces(value.toString());
//Remove cut long variables names and values. Trims suffix of the variable name above the 25th character onwards    if (name.length>50) {        name=name.substr(0,50);    }    if (value.length>50) { // Trims suffix of the variable value above the 50th character onwards        value=value.substr(0,50);    }    switch (scope){        case 'page': lpMTagConfig.pageVar[lpMTagConfig.pageVar.length] = escape(name)+'='+escape(value); break;        case 'session': lpMTagConfig.sessionVar[lpMTagConfig.sessionVar.length] = escape(name)+'='+escape(value); break;        case 'visitor': lpMTagConfig.visitorVar[lpMTagConfig.visitorVar.length] = escape(name)+'='+escape(value); break;    }   
}
// Preventing long cookie transfer for IE based browsers.
function onloadEMT() {    var LPcookieLengthTest=document.cookie;    if (lpMTag.lpBrowser == 'IE' && LPcookieLengthTest.length>1000){        lpMTagConfig.sendCookies=false;    }
}
//The Trim function returns a text value with the leading and trailing spaces removed
function lpTrimSpaces(stringToTrim) {    return stringToTrim.replace(/^\s+|\s+$/g,'');
}
// Immediate Data submission function
function lpSendData(varscope,varname,varvalue) {    if(typeof(lpMTag)!='undefined' && typeof(lpMTag.lpSendData)!='undefined')        lpMTag.lpSendData(varscope.toUpperCase() +'VAR!'+ varname + '=' + varvalue, true);
}
// The unit variable purpose is to route the chat or call to the designated skill. <LOB> should be replaced with the skill name, i.e. : sales
try{    if (typeof(lpCampus)=='undefined') { var lpCampus=lpMTagConfig.defaultCampus; }    if (typeof(lpUnit)=='undefined') { var lpUnit=lpMTagConfig.defaultUnit; }    if (typeof(lpLanguage)=='undefined') { var lpLanguage=lpMTagConfig.defaultLanguage; }    lpMTagConfig.deploymentID=lpUnit;    if(typeof(lpAddVars)!='undefined') {        lpAddVars('page','Campus',lpCampus);        lpAddVars('page','unit',lpUnit);        lpAddVars('session','language',lpLanguage);    }    lpMTagConfig.defaultInvite='chat-'+lpUnit+'-'+lpLanguage;
}catch(e){}
lpMTagConfig.onLoadCode[lpMTagConfig.onLoadCode.length] = onloadEMT;
//Scan dynButton and removes buttons which doesnt have Div on the page
lpMTagConfig.onLoadCode[lpMTagConfig.onLoadCode.length] = function () {    if(typeof(lpMTagConfig.dynButton)!='undefined') {        for (i=0;i<lpMTagConfig.dynButton.length;i++){            if (typeof(lpMTagConfig.dynButton[i].pid)!='undefined' && document.getElementById(lpMTagConfig.dynButton[i].pid) == null) {                    lpMTagConfig.dynButton.splice(i,1);                    i--;            }        }    }
};
//The folowing functions will be load after the page will finish loading
lpMTagConfig.onLoadAll = function () {    lpMTagConfig.calculateSentPageTime();    lpMTagConfig.lpLoadScripts();
};
if (window.attachEvent) {    window.attachEvent('onload',lpMTagConfig.onLoadAll);
} else {    window.addEventListener('load',lpMTagConfig.onLoadAll,false);
}
//creating button object
if(typeof(lpMTagConfig.db1)=="undefined"){    lpMTagConfig.db1 = new Object();
}
// LP Button Code
if(typeof(lpMTagConfig.dynButton)!="undefined") {   lpMTagConfig.dynButton[lpMTagConfig.dynButton.length] = {'name':'chat-'+lpUnit+'-'+lpLanguage,'pid':'lpButton','afterStartPage': true,'ovr':'lpMTagConfig.db1'};
}

Viewing all articles
Browse latest Browse all 2324

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>