函数调用不返回调用函数

时间:2010-06-24 20:51:16

标签: javascript shadowbox

我正在使用Shadowbox.js在网站上显示幻灯片。 这个幻灯片显示了几张图片,我想知道谁在看什么图片。 为此,我正在使用statcounter.com。 Shadowbox提供了一个所谓的钩子,用于在幻灯片打开时以及当它更改为另一张图片时调用函数。 我写了一小段代码来推动事情的发展,但出于某种原因,我在我的statcounter日志中得到一个条目,但影子框没有出现。 当我不在选项中使用onopen和onchange时,阴影框会显示。 作为测试,您可以设置一个放在代码下面的目录。在此目录中创建名为“sb”和“pix”的子目录。从网站获取Shadowbox应用程序并将其存储在“sb”目录(http://shadowbox-js.com/download.html)中。 在“pix”目录中,该商店旁边有3个testimages(名为image1.jpg,image2.jpg和image3.jpg)。 要检查statcounter是否正在拾取图片,您可以在statcounter.com上使用我的testaccount(仅用于查看:帐户测试用例,密码casetest1)。

请在此处找到包含以下代码的html:http://www.heres-online.nl/test/index.html

请注意,我只是刚开始使用javascript和html编程。 我可以想象我会忽略一些非常简单的东西...... 任何帮助都非常感谢。

2 个答案:

答案 0 :(得分:1)

不要试图以这种方式插入图像标记,而只需制作一个:

var img = new Image();
img.src = "... tracker URL ...";

这就是你需要做的一切。 编辑还要删除URL字符串中的所有反斜杠;他们没有意义。

再次编辑我认为这就是您所需要的:

var nonsense = 1;
function tracker() {
  var img = new Image();
  img.src = "http://c.statcounter.com/counter.php?sc_project=5981755&security=582aa718&invisible=1&u=" +
    encodeURIComponent("http://my.pix/" + Shadowbox.getCurrent().content) +
    '&nonsense=' + new Date().getTime() + '_' + nonsense++);
  return true;
}

(添加了一个“废话”参数来尝试克服可能的缓存问题)

编辑 - 确定注意“return true”并将“escapeURIComponent”(错误)更改为“encodeURIComponent”。 (我总是感到困惑,因为旧的弃用功能被称为“逃避”。)

答案 1 :(得分:0)

请在最后的评论中抓住你的马匹。我自己弄错了(错字)。 而不是encodeURIComponent我输入enocdeURIComponent(为什么不复制/粘贴...是的,我只是没有)。 该脚本现在完全按照我的意图行事。我知道幻灯片中的每张图片都有一个Statcounter条目!高超。我对你的帮助非常满意,这真是让我烦恼,无法让它运转起来。在这里获得答案的速度真的太棒了! 我也在Shadowbox.js论坛上发布了你的解决方案。我也在那里发布了我的问题,但还没有答案。但是对于任何对同一问题感兴趣的人来说,这个解决方案可能会有所帮助。 再次感谢,祝周末愉快!