借助 JavaScript 事件处理脚本,您可以在用户执行某些操作(例如点击、下载 PDF 文件、选择菜单项或提交表单)时发起 Floodlight 调用。
用户必须在浏览器中启用 JavaScript,才能使用下述方法。如果用户关闭了 JavaScript,则无法进行 Floodlight 调用。
概览
该方法的基本前提是使用 JavaScript 动态构建 iframe 或图片代码(在使用 Floodlight 图片代码的情况下),且代码包含所有必需的参数,如自定义变量、销售相关变量和缓存无效化宏。
由于网址中也存在用于定义 Floodlight 活动本身的参数(type 和 cat),因此您也可以使用该方法从相同的网页动态调用其他 Floodlight 活动。对于基于 AJAX 的页面而言,该方法非常有用。
您可以通过在 HTML 文件的主体部分中使用 onclick()
或 onsubmit()
函数来调用下文介绍的函数。对于会重定向至着陆页或文件下载页面的 onclick
事件,您必须使用 target="_blank"
属性;否则,重定向至同一浏览器标签页将会导致代码无法正常触发。
您可在此演示页面中找到更多类似的已植入且正常工作的代码示例(网站管理员可查看源代码)。https://storage.googleapis.com/dcm-floodlight/Floodlight_on_Click_EXAMPLE.html
无论是任何 JavaScript 函数声明,我们都建议您将其植入到网页的 <head> 部分。
以下示例使用自定义变量 u1。
<script type="text/javascript" id="DoubleClickFloodlightTag">
//<![CDATA[
function FLOOD1(type, cat, u1) {
var axel = Math.random()+"";
var a = axel * 10000000000000000;
var flDiv=document.body.appendChild(document.createElement("div"));
flDiv.setAttribute("id","DCLK_FLDiv1");
flDiv.style.position="absolute";
flDiv.style.top="0";
flDiv.style.left="0";
flDiv.style.width="1px";
flDiv.style.height="1px";
flDiv.style.display="none";
flDiv.innerHTML='<iframe id="DCLK_FLIframe1" src="http://12345678.fls.doubleclick.net/activityi;src=12345678;type=' + type + ';cat=' + cat + ';u1=' + u1 + ';ord=' + a + '?" width="1" height="1" frameborder="0"><\/iframe>';
}
//]]>
</script>
</head>
<body>
<!-- 这是锚标记上的“onclick”调用示例 -->
<a href="http://address_of_page_to_load_or_file_to_download" onclick="FLOOD1('testtype', 'testcat', 'testu1');" target="_blank">点击此处可测试代码</a>
</body>
请注意,使用图片代码会阻止触发默认代码和发布商代码。
<script type="text/javascript" id="DoubleClickFloodlightTag">
//<![CDATA[
function FLOOD2(type, cat, u1) {
var axel = Math.random()+"";
var a = axel * 10000000000000000;
var spotpix = new Image();
spotpix.src="http://ad.doubleclick.net/activity;src=12345678;type=" + type + ";cat=" + cat + ";u1=" + u1 + ";ord=" + a + "?";
}
//]]>
</script>
</head>
<body>
<!-- 这是锚标记上的“onclick”调用示例 -->
<a href="http://address_of_page_to_load_or_file_to_download" onclick="FLOOD2('testtype', 'testcat', 'testu1');" target="_blank">点击此处可测试代码</a>
</body>
在此示例中,如果将 isUnique
设置为值 1(或通用值)来调用函数,系统会将该代码作为唯一身份用户 24 小时计数器类型进行调用,而如果传递的值为 0 或者省略该值,系统会将该代码作为标准计数器类型进行调用。
<script type="text/javascript" id="DoubleClickFloodlightTag">
//<![CDATA[
function FLOOD3(type, cat, isUnique) {
var axel = Math.random()+"";
var a = axel * 10000000000000000;
var flDiv=document.body.appendChild(document.createElement("div"));
var cachebust = (isUnique)?';ord=1;num=':';ord=';
flDiv.setAttribute("id","DCLK_FLDiv1");
flDiv.style.position="absolute";
flDiv.style.top="0";
flDiv.style.left="0";
flDiv.style.width="1px";
flDiv.style.height="1px";
flDiv.style.display="none";
flDiv.innerHTML='<iframe id="DCLK_FLIframe1" src="http://12345678.fls.doubleclick.net/activityi;src=12345678;type=' + type + ';cat=' + cat + cachebust + a + '?" width="1" height="1" frameborder="0"><\/iframe>';
}
//]]>
</script>
</head>
<body>
<!-- 这是锚标记上的“onclick”调用示例 -->
<a href="http://address_of_page_to_load_or_file_to_download" onclick="FLOOD3('testtype', 'testcat', 1);" target="_blank">点击此处可测试代码</a>
</body>
使用以下代码创建用于指定 qty
(活动计数)、cost
和 ord
参数以及自定义变量 u1 的代码。
<script type="text/javascript" id="DoubleClickFloodlightTag">
//<![CDATA[
function FLOOD4(qty, cost, u1, ord) {
var flDiv=document.body.appendChild(document.createElement("div"));
flDiv.setAttribute("id","DCLK_FLDiv1");
flDiv.style.position="absolute";
flDiv.style.top="0";
flDiv.style.left="0";
flDiv.style.width="1px";
flDiv.style.height="1px";
flDiv.style.display="none";
flDiv.innerHTML='<iframe id="DCLK_FLIframe1" src="http://12345678.fls.doubleclick.net/activityi;src=12345678;type=123;cat=456;qty=' + qty + ';cost=' + cost + ';u1=' + u1 + ';ord='+ ord + '?" width="1" height="1" frameborder="0"><\/iframe>';
}
//]]>
</script>
</head>
<body>
<!-- 这是锚标记上的“onclick”调用示例 -->
<a href="http://address_of_page_to_load_or_file_to_download" onclick="FLOOD4(2, 100.34, 'testu1', 'testorderid');" target="_blank">点击此处可测试代码</a>
</body>