我们使用Facebook跟踪像素来跟踪我们的Facebook广告的效果。 为此,对于第一次访问我们服务的每个用户,我们需要在DOM中触发跟踪像素。 我们通过在控制器中将$ scope.newReg设置为true并在模板中使用以下代码来完成此操作。使用Angular.js跟踪像素
<div ng-if="newReg == true">
<img height="1" width="1" alt="" style="display:none" src="https://www.facebook.com/tr?ev=xxxxxx&cd[value]=0.00&cd[currency]=EUR&noscript=1" />
</div>
问题是如果$ scope.newReg设置为false,那么实际情况如何。 我想跟踪像素不应该被解雇,但根据文档,它似乎可以被解雇。 “如果条件是虚假的,那么该元素将从DOM树中移除。” 这意味着跟踪像素可能会出现在DOM中,然后被删除。即使条件失败,这也会触发跟踪计数器。
我认为这取决于您的跟踪像素HTML的位置。 – 2014-10-07 16:54:27
如果上述标记位于具有ng-app的默认html页面内,那么这将在Angular引导和评估'ng-if'指令之前加载到DOM中。所以是的,如果style属性没有说'display:none',这会在很短的时间内出现。 – 2014-10-07 16:59:59
根据Facebook示例代码,它具有显示为“无”的样式属性。无论如何,这不是关于像素是否实际显示,而是关于是否被触发。 – 2014-10-08 19:17:03