对于 Qualtrics 中内置的调查实验,我需要记录受访者是否点击了指向外部网页的超链接。我不精通Javasctript。记录此信息的最简单解决方案是什么?谢谢
问问题
1400 次
1 回答
0
有几种方法可以解决这个问题,其中一种更常见的方法实际上是“点击”页面,它充当您的网站和外部网站之间的中间页面。
如果您想要“仅 javascript”,则必须在单击链接时对另一个页面进行回调(例如通过 ajax)。
例如,您将设置如下链接:
<a href="http://www.example.com" onclick="return externalLink(this.href);">click me</a>
然后,您将拥有如下的 javascript 函数:
function externalLink(location) {
// make an ajax GET request to your "logging" page
var req = new XMLHttpRequest();
req.open('GET', '/log.php?url=' + encodeURIComponent(location));
req.send(null);
// return "true" to allow the link to be followed
return true;
}
这种方法的问题是,由于不可预见的网络问题、服务器处理时间等,ajax 请求可能需要一段时间。最后,它可能会在这里和那里错过几次点击,如果你想要“完美”,这可能不是最好的方法“ 结果。
我建议您为所有外部 URL 尝试点击页面,这样您就可以确保捕获所有点击。这可以通过以下方式完成(在 PHP 中):
充满链接的主 HTML 页面:
<a href="/clickthru.php?url=<?php echo urlencode("http://www.example.com"); ?>">click me</a>
clickthru.php 页面:
<?php
$url = $_GET['url'];
if (!empty($url)) {
// perform all of your logging that's necessary
// ...
// redirect this page to the desired external URL
header('Location: ' . $url, true, 302);
exit();
}
于 2014-06-13T12:50:12.063 回答