使用Angular 4的FBQ(Facebook Events)

时间:2017-06-16 18:25:23

标签: javascript facebook angular

我在我的HTML中插入了Facebook Pixel,我需要从Angular Component调用FBQ函数。但是,我在调用window.fbq尝试注册事件时遇到问题,“类型'Window'上不存在bbq。

有没有人实施过它?如何从Angular组件调用index.html中的js函数?

谢谢!

2 个答案:

答案 0 :(得分:2)

答案可能有点太迟了,但这是我实施的方式:

我将facebook像素代码添加到我的index.html。然后我创建了一个处理跟踪的服务:

import { Injectable } from '@angular/core';

declare const fbq;

@Injectable()
export class FacebookPixelEventTrackerService {

  constructor() { }

  public trackEvent(properties: Object) {
    if (typeof fbq === 'undefined') {
      return;
    }
    fbq('track', 'ViewContent', properties);
  }
}

在您需要的地方注入服务,一切都应该解决。 :)

答案 1 :(得分:0)

创建一项服务,然后在您的app.component.ts中调用

   $structure = [
    "a",
    "b" => [
    "b1",
    "b2" => [
        "b21",
        "b22"
            ]
      ]
];

$new_structure = array();
foreach($structure as $key =>$value)
{
  if(!is_array($value))
    {
      $new_structure[$value]= $value;
    }else{
      foreach($value as $k =>$v)
        {
          if(!is_array($v))
           { 
              $new_structure[$key][$v]=$v; 
           }else
           {
             foreach($v as $kk => $vv)
             {
                   $new_structure[$k][$vv]=$vv;                                   
             }            
           }
        }
     }
}
print_r($new_structure);exit;