我尝试根据多种因素在网站上提供不同的电话号码,以便我们根据用户到达网页的方式跟踪入站电话。
此站点无法运行服务器端脚本,因此必须使用javascript(我相当缺乏经验)。我拼凑了一些零碎的东西,但最终希望将所有内容组合在一起,让它在单个.js文件中协同工作,可以在页面加载时调用。
这是我到目前为止所拥有的:
<script type="text/javascript">
//Querystring to check if paid session or organic
function providercheck() {
var str= location.href;
if (str.indexOf("?provider=") > -1) {
document.write("paid phone number");
}
else {
botcheck();
}
}
//Check userAgent to serve organic number to bots
function botcheck() {
if(navigator.userAgent.toLowerCase().indexOf("googlebot") <= -1) {
document.write("default phone number");
}
else {
refcheck();
}
}
//Check for referrer and serve number based on last referrer
function refcheck() {
var last_referrer = document.referrer;
if (last_referrer.indexOf("google") > -1) {
document.write("google tracking number");
}
else if (last_referrer.indexOf("yahoo") > -1) {
document.write("yahoo tracking number");
}
else {
document.write("default number");
}
}
</script>
非常感谢任何帮助或指导。我还需要设置会话cookie以继续提供相同的号码,直到用户离开该站点,但希望首先使用该
答案 0 :(得分:2)
您可以尝试这样的事情:
将此范围放在页面的某个位置:
<span id="phoneNumber">Superdefaultnumber</span>
然后将此代码放在文档头部的脚本标记中:
var setNumber = function(){
var spanNode = document.getElementById("phoneNumber");
if (!spanNode) {throw new Error("Unable to find span");}
if (location.href.indexOf("?provider=") > -1) {
spanNode.innerHTML = "paid phone number";
}
//Check userAgent to serve organic number to bots
if(navigator.userAgent.toLowerCase().indexOf("googlebot") <= -1) {
spanNode.innerHTML = "default phone number";
}
//Check for referrer and serve number based on last referrer
var last_referrer = document.referrer;
if (last_referrer.indexOf("google") > -1) {
spanNode.innerHTML = "google tracking number";
}
else if (last_referrer.indexOf("yahoo") > -1) {
spanNode.innerHTML = "yahoo tracking number";
}
else {
spanNode.innerHTML = "default number";
}
};
window.addEventListener("load", setNumber);