0

对于 Qualtrics 中内置的调查实验,我需要记录受访者是否点击了指向外部网页的超链接。我不精通Javasctript。记录此信息的最简单解决方案是什么?谢谢

4

1 回答 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 回答