我正在使用 $(document).ready() 动态创建 javascript,并将其附加到页面上链接的 onclick 事件。我的 onclick javascript 用于生成事件函数,我将这些函数传递给 Google Analytics 以跟踪页面上的事件,例如单击横幅广告和下载 PDF 文件。除了 IE 浏览器之外,我从每个浏览器中获取这些事件的统计数据。因此,在 IE 中出现了问题(我已在页面上搜索和查找错误,但没有发现)。通常情况下,我会像 $("a").click ... do stuff... 这样做,但由于某种原因,我唯一能够使 Google Analytics 事件跟踪起作用的方法是直接将跟踪事件函数放在链接上。因此,我使用以下代码在页面加载后将跟踪事件函数注入到我的链接的 onclick 中。
我想我的问题是IE没有把我的代码放在onclick里。但我不知道有什么好方法在IE中查看生成的源代码。我已经尝试了一些在地址栏中使用的javascript函数来显示生成的源代码,假设它们有效,那么我的代码就没有将跟踪事件函数注入到我的链接的onclick中。我在Firefox的查看生成的源代码中看到了onclick中的跟踪事件函数。
作为另一个测试,您可以看到我在我的跟踪事件函数周围添加了警报。在Firefox中,两个警报都会触发,在IE中,两个警报都不会触发。
还有一个信息。我的Google Analytics未记录任何IE浏览器的事件。据我所知,我的问题不特定于IE的某个版本。
我该如何确定动态Javascript是否进入IE的onclick,然后我能做什么来使其进入IE的onclick?
更新: 为了简化问题并聚焦答案的方向,我删除了Google Analytics事件函数。现在,我只是在onclick中注入alert()。IE甚至不能触发警报。我已经尝试过以下方法...
// Tracks favorites on the home page.
$("._gatHomePageFavorites").each
(
function(index)
{
var description = "Content ID: " + getParameterNamedID($(this).attr("href")) + " - " + $(this).children().first().attr("alt");
$(this).attr("onclick","alert('1');_gaq.push(['_trackEvent', 'Favorites - Home Page', 'Icon Click','" + _gatCleanString(description) + "']);alert('2');");
}
);
我想我的问题是IE没有把我的代码放在onclick里。但我不知道有什么好方法在IE中查看生成的源代码。我已经尝试了一些在地址栏中使用的javascript函数来显示生成的源代码,假设它们有效,那么我的代码就没有将跟踪事件函数注入到我的链接的onclick中。我在Firefox的查看生成的源代码中看到了onclick中的跟踪事件函数。
作为另一个测试,您可以看到我在我的跟踪事件函数周围添加了警报。在Firefox中,两个警报都会触发,在IE中,两个警报都不会触发。
还有一个信息。我的Google Analytics未记录任何IE浏览器的事件。据我所知,我的问题不特定于IE的某个版本。
我该如何确定动态Javascript是否进入IE的onclick,然后我能做什么来使其进入IE的onclick?
更新: 为了简化问题并聚焦答案的方向,我删除了Google Analytics事件函数。现在,我只是在onclick中注入alert()。IE甚至不能触发警报。我已经尝试过以下方法...
// Tracks favorites on the home page.
$("._gatHomePageFavorites").each
(
function(index)
{
$(this).attr("onclick","alert('1')");
}
);
并且
// Tracks favorites on the home page.
$("._gatHomePageFavorites").each
(
function(index)
{
$(this).attr("onclick","setTimeout(\"alert('1')\", 1000);return false");
}
);
所以我还是倾向于认为我的javascript没有被注入到IE的onclick中。
在IE中查看生成的源代码的最可靠方法是什么?
如果我能确认我的代码没有被注入到链接的onclick属性中,那么我至少可以知道为什么Google Analytics不能跟踪IE的事件。这是因为我的注入代码在IE中不存在。
.prop()
д»Јжӣҝ.attr()
дјҡеҸ‘з”ҹд»Җд№Ҳпјҹ - Sparky