javascript - 带有单页应用程序的 Facebook Pixel(Angularjs)

标签 javascript angularjs facebook single-page-application

我用 AngularJS 构建了单页应用程序。我想使用 Facebook Pixel 跟踪 pageView 这个网络应用程序。但在分析板上,Facebook Pixel 会忽略“#”后面的 url 部分。 在此图像中,每个 URL 显示在 http://localhost/ 中。

image

我可以推送自定义 pageView(删除 #)来解决此问题吗?

最佳答案

对于我的情况,它适用于以下配置:

  1. 在index.html中添加带有跟踪ID的fb像素代码

<!-- Facebook Pixel Code -->
		<script>
		!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
		n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
		n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
		t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
		document,'script','https://connect.facebook.net/en_US/fbevents.js');
		fbq('init', '<<PIXEL ID>>'); // Insert your pixel ID here.
		</script>
		<noscript><img height="1" width="1" style="display:none"
		src="https://www.facebook.com/tr?id=133095247279894&ev=PageView&noscript=1"
		/></noscript>
		<!-- DO NOT MODIFY -->
		<!-- End Facebook Pixel Code -->

  • 在状态 Controller 上注入(inject) $window

    // Registration
    angular.module('app.module')
        .controller('LeadsController', ['$scope', '$state', '$window']);
    
    $window.fbq('track', 'InitiateCheckout');   //or Purchase/Leads/CompleteRegistration event
    
  • 它是这样工作的,因为基本上 fbq 已经绑定(bind)在窗口对象上。 希望这有帮助!

    关于javascript - 带有单页应用程序的 Facebook Pixel(Angularjs),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34020526/

    相关文章:

    javascript - 如何从另一个组件 React 更改 React Context 的值

    javascript - 'child_added' 和 'value' firebase 之间的区别?

    javascript - 如何获取数组中 5 分钟间隔内的最后几个小时?

    angularjs - 如何在没有新模板的情况下在 Ionic 选项卡中呈现内容,而只需像在 Bootstrap 中切换选项卡

    javascript - $state.go 无法实例化模块

    IOS,是否有 facebook 和 twitter 委托(delegate) "didShare"?

    Facebook API - 如何获取用户的地址、电话号码?

    javascript - 关闭窗口时如何注销我的应用程序?

    JavaScript MVC 与 ASP.NET MVC(模式差异)

    Facebook 拼图(概率)