Javascript 函数调用不会返回到调用函数

Javascript 函数调用不会返回到调用函数,javascript,shadowbox,Javascript,Shadowbox,我正在使用Shadowbox.js在网站上显示幻灯片。 这张幻灯片显示了几张图片,我想知道谁在看什么图片。 为此,我使用statcounter.com。 Shadowbox提供了一个所谓的钩子,用于在幻灯片放映打开或更改为其他图片时调用函数。 我已经写了一小段代码来让事情进展,但是由于某种原因,我在statcounter日志中得到了一个条目,但是阴影框没有出现。 当我在选项中不使用onopen和onchange时,会显示阴影框。 作为测试,您可以设置一个目录,将代码放在下面。在这个名为“sb”和

我正在使用Shadowbox.js在网站上显示幻灯片。 这张幻灯片显示了几张图片,我想知道谁在看什么图片。 为此,我使用statcounter.com。 Shadowbox提供了一个所谓的钩子,用于在幻灯片放映打开或更改为其他图片时调用函数。 我已经写了一小段代码来让事情进展,但是由于某种原因,我在statcounter日志中得到了一个条目,但是阴影框没有出现。 当我在选项中不使用onopen和onchange时,会显示阴影框。 作为测试,您可以设置一个目录,将代码放在下面。在这个名为“sb”和“pix”的目录中创建子目录。从网站获取Shadowbox应用程序并将其存储在“sb”目录()中。 在“pix”目录中,存储3个测试图像(称为image1.jpg、image2.jpg和image3.jpg)。 要检查statcounter是否正在接收图片,可以使用statcounter.com上的my testaccount(仅用于查看:帐户测试用例、密码用例测试1)

请在此处找到包含代码的html:

请考虑到,我只是刚刚开始在javascript和html编程。 我可以想象我忽略了一些非常简单的事情。。。
非常感谢您提供的任何帮助。

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

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”。(我总是感到困惑,因为旧的不推荐使用的函数名为“escape”。

请耐心等待我最后的评论。我自己犯了一个错误(打字错误)。 我输入的不是encodeURIComponent,而是enocdeURIComponent(为什么不复制/粘贴…是的,我就是没有)。 该脚本现在正按照我的意图执行。我知道幻灯片中的每张图片都有一个Statcounter条目!棒 极 了我很高兴你的帮助,这真的让我很烦恼,无法让它运行。在这里得到答案的速度真是太惊人了! 我也在Shadowbox.js论坛上发布了您的解决方案。我也把我的问题贴在那里,但还没有答案。但对于那些为同一个问题苦苦挣扎的人来说,这个解决方案可能是有帮助的。
再次感谢,祝你周末愉快

哇,答案很快。好的,你建议在我的函数中清除大量垃圾的方法确实是个好主意。正如我所说,我对javascript和html非常陌生,因此欢迎您的建议。;-)然而,用你建议的线条改编我的源代码,仍然没有给我带来一个工作的阴影盒幻灯片和幻灯片中每张图片的statcountertraceline。有什么建议可以解决这个问题吗?那现在是怎么回事?哦,哦,等等,这里有一件事要尝试;可能是你的浏览器认为图像在缓存中-我会更新我的帖子。好的,我稍微更改了功能。现在,如果您仍然有问题,我建议为Firefox安装“TamperData”插件(或类似插件)。这样可以跟踪浏览器发出的所有HTTP请求。对你来说,这意味着你能够看到追踪者的东西是否真的会导致HTTP“获取”到计数器URL。(我想会的,但我并没有真正做好测试的准备。)我在Hmm上点击image1中的图像时上传了篡改数据的输出,看起来它至少得到了一个statcounter的东西。我会再看一次你的页面。谢谢你指向篡改数据,看起来不错!