确定所以clickpath有这个数字生成器,它是唯一的每个访问者或类似的东西。基本上,它是一个动态生成的电话号码,从.js文件中提取。一个脚本被运行来显示这个#。我需要做的是从我的网站或脚本中获取这个数字,然后将其作为隐藏表单字段的值插入(每个#对于广告活动都是唯一的,因此id知道他们是否有机地来到网站,或通过横幅等)。我知道如何将值提交到表单字段,但我无法弄清楚从他们的JS文件调用什么函数或如何从显示在其中的东西中剥离#。传递一个值到一个隐藏的表单字段/解析数据
他们的代码
//** COPYRIGHT 2005-2006 - WhosCalling, Inc. **
//!!Do not change variable names!!
var CPMACCOUNTID='XXXXXX';
var CPMClientDir='XXXXXXXX';
var CPMPhoneNumber='XXXXXXXX';
var CPMUrl
if(location.protocol == 'https:'){
CPMUrl='https://analyticssl.clickpathmedia.com';
} else {
CPMUrl='http://analytics.clickpathmedia.com';
}
function RenderPhoneText(num, pat) {
document.write(GetOfficePhoneText(num, pat));
};
function RenderPhoneImage(num, dir) {
var CPMClientWebserver=document.domain; // Change this variable to your webserver address ex: 'www.example.com'
document.write('<img src="http://' + CPMClientWebserver + '/' + dir + '/Sep1.gif" alt="-">');
document.write('<img src="http://' + CPMClientWebserver + '/' + dir + '/Number' + num.substr(0,1) + '.gif">');
document.write('<img src="http://' + CPMClientWebserver + '/' + dir + '/Number' + num.substr(1,1) + '.gif">');
document.write('<img src="http://' + CPMClientWebserver + '/' + dir + '/Number' + num.substr(2,1) + '.gif">');
document.write('<img src="http://' + CPMClientWebserver + '/' + dir + '/Sep2.gif">');
document.write('<img src="http://' + CPMClientWebserver + '/' + dir + '/Number' + num.substr(3,1) + '.gif">');
document.write('<img src="http://' + CPMClientWebserver + '/' + dir + '/Number' + num.substr(4,1) + '.gif">');
document.write('<img src="http://' + CPMClientWebserver + '/' + dir + '/Number' + num.substr(5,1) + '.gif">');
document.write('<img src="http://' + CPMClientWebserver + '/' + dir + '/Sep3.gif">');
document.write('<img src="http://' + CPMClientWebserver + '/' + dir + '/Number' + num.substr(6,1) + '.gif">');
document.write('<img src="http://' + CPMClientWebserver + '/' + dir + '/Number' + num.substr(7,1) + '.gif">');
document.write('<img src="http://' + CPMClientWebserver + '/' + dir + '/Number' + num.substr(8,1) + '.gif">');
document.write('<img src="http://' + CPMClientWebserver + '/' + dir + '/Number' + num.substr(9,1) + '.gif">');
};
function GetOfficePhoneText(num, pat) {
var strResult = "";
var intDigit = 0;
for(var i=0;i<pat.length;++i){
if (pat.charAt(i) == "N") {
strResult = strResult + num.charAt(intDigit);
intDigit = intDigit + 1;
}
else {
strResult = strResult + pat.charAt(i);
}
}
if (intDigit < 10) {
strResult = strResult + num.substr(intDigit);
}
return strResult;
};
function DisplayPhoneText(pat) {
//For backward compatibility
RenderPhoneText(CPMPhoneNumber,pat);
};
function DisplayPhoneImage(dir) {
//For backward compatibility
RenderPhoneImage(CPMPhoneNumber,dir);
};
function GetPhoneText(pat) {
//For flash compatibility
return GetOfficePhoneText(CPMPhoneNumber,pat);
};
function GetPhoneTextOffice(num, pat) {
//For flash compatibility
return GetOfficePhoneText(num,pat);
};
document.write('<script type="text/javascript" LANGUAGE="javascript" src="');
document.write(CPMUrl + '/JS/' + CPMClientDir + '/clickpathremote.js');
document.write('"><\/sc' + 'ript>');
document.write('<script type="text/javascript" language="javascript" src="');
document.write('https://clicktotalk.whoscalling.com/makeClickToTalk.js');
document.write('"><\/sc' + 'ript>');
function clickToTalk(PhoneNumber)
{
makeClickToTalk('https://clicktotalk.whoscalling.com/', PhoneNumber, CPGetSessionValue());
window.setTimeout('CPMLogTraffic(\'104\')', 2000);
}
我的代码
<script type="text/javascript">
document.getElementById('clickphone').value = DisplayPhoneText("NNN.NNN.NNNN");
</script>
<input type="hidden" value="" id="clickphone" name="clickphone"/></input>
div的,#是
<div id="rightSide">
<script language="Javascript">DisplayPhoneText("NNN.NNN.NNNN");
</script>866.458.9533<noscript>866.303.5765</noscript>
<a href="" onclick="javascript:clickToTalk('8666180269'); return false;"><img src="images/click-to-call-button.png" border="0" alt="Click To Call"></a></div>
然而,这一切确实是再次显示#和犯规传递什么值=“”
有什么想法吗?
UPDATE
创建以下的功能,而不是文件撰写我用回实际上会返回value.called在返回到自己的价值并没有什么......我觉得从事实上,这源于此是一个即时通讯的第三方脚本,他们正在拉动我无法访问的外部脚本,因此“不要更改变量名称”评论。我认为最简单的事情就是解析DIV中的电话号码文本。但我不知道该怎么做。
function RenderPhoneTextReturn(num, pat) {
return(GetOfficePhoneText(num, pat));
};
function DisplayPhoneTextReturn(pat) {
//For backward compatibility
RenderPhoneTextReturn(CPMPhoneNumber,pat);
};
<script type="text/javascript">
document.onload=function() {
document.getElementById('clickphone').value = DisplayPhoneTextReturn("NNN.NNN.NNNN");
}
</script>
<input type="hidden" value="" id="clickphone" name="clickphone"/></input>
任何帮助,这将是美好的,因为获得点击路径“支持”是徒劳的尝试。我从字面上有他们的“技术”告诉我“理论上这可以完成,但我们不会/不能帮助你。” 。伟大的技术团队,他们有。你认为他们会有某种API支持来帮助解决这类问题。
任何帮助在这里将不胜感激!非常沮丧。 – RezenX 2012-02-25 05:43:15