尝试将 Facebook 像素添加到 Heroku HAML 站点
Trying to Add Facebook Pixel to Heroku HAML site
我正在尝试将 Facebook Pixel 添加到我们的 Heroku HAML 站点。 Google 分析通过在 _google_analytics.html.haml 中列出 Javascript 然后在相同布局文件夹中的 Home.html.haml 文件中列出来进行,如下所示:
!!!
%html
%head
= javascript_include_tag "application", "data-turbolinks-track" => true
= csrf_meta_tags
= render 'layouts/bold_chat'
= render 'layouts/google_analytics'
= render 'layouts/fb_pixel'
不确定我遗漏了什么,但是当网站以 Google Analytics 的方式加载时像素没有加载。谢谢,开发人员离开了组织,我作为管理员正在收拾残局。哎哟!我能够启动脚本,但该站点不会在 heroku 中加载我收到加载错误。帮助
这是真实的JavaScript
<!-- 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', '123123123123123');
fbq('track', 'PageView');
</script>
<noscript>
<img height="1" width="1"
src="https://www.facebook.com/tr?id=123123123123&ev=PageView
&noscript=1"/>
</noscript>
<!-- End Facebook Pixel Code -->
好的,所以我尝试根据另一篇文章将其转换为 Coffee 脚本。代码是
!((f, b, e, v, n, t, s) ->
if f.fbq
return
n =
f.fbq = ->
if n.callMethod then n.callMethod.apply(n, arguments) else
n.queue.push(arguments)
return
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
return
)(window, document, 'script',
'https://connect.facebook.net/en_US/fbevents.js')
fbq 'init', '252482198497323'
fbq 'track', 'PageView'
现在我在尝试部署到测试时收到错误消息
运行: 耙子 assets:precompile
耙中止!
NoMethodError: ["fb_pixels"]:Array
的未定义方法“+@”
更新,问题出在加载图像的部分。
<noscript>
<img height="1" width="1"
src="https://www.facebook.com/tr?id=123123123123&ev=PageView
&noscript=1"/>
</noscript>
一旦我从脚本中删除了这段代码并将其自行加载到索引页面中,像素就开始工作了。
当用户在他们的浏览器中禁用脚本或者他们的浏览器不支持脚本时,使用 noscript 标签。理想情况下,您不必删除这部分代码。这是应该工作的 haml 代码。
:javascript
!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', '123123123123');
fbq('track', 'PageView');
%noscript
%img{:height => "1", :width => "1", :src => "https://www.facebook.com/tr?id=123123123123&ev=PageView&noscript=1"}
我正在尝试将 Facebook Pixel 添加到我们的 Heroku HAML 站点。 Google 分析通过在 _google_analytics.html.haml 中列出 Javascript 然后在相同布局文件夹中的 Home.html.haml 文件中列出来进行,如下所示:
!!!
%html
%head
= javascript_include_tag "application", "data-turbolinks-track" => true
= csrf_meta_tags
= render 'layouts/bold_chat'
= render 'layouts/google_analytics'
= render 'layouts/fb_pixel'
不确定我遗漏了什么,但是当网站以 Google Analytics 的方式加载时像素没有加载。谢谢,开发人员离开了组织,我作为管理员正在收拾残局。哎哟!我能够启动脚本,但该站点不会在 heroku 中加载我收到加载错误。帮助
这是真实的JavaScript
<!-- 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', '123123123123123');
fbq('track', 'PageView');
</script>
<noscript>
<img height="1" width="1"
src="https://www.facebook.com/tr?id=123123123123&ev=PageView
&noscript=1"/>
</noscript>
<!-- End Facebook Pixel Code -->
好的,所以我尝试根据另一篇文章将其转换为 Coffee 脚本。代码是
!((f, b, e, v, n, t, s) ->
if f.fbq
return
n =
f.fbq = ->
if n.callMethod then n.callMethod.apply(n, arguments) else
n.queue.push(arguments)
return
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
return
)(window, document, 'script',
'https://connect.facebook.net/en_US/fbevents.js')
fbq 'init', '252482198497323'
fbq 'track', 'PageView'
现在我在尝试部署到测试时收到错误消息
运行: 耙子 assets:precompile
耙中止!
NoMethodError: ["fb_pixels"]:Array
更新,问题出在加载图像的部分。
<noscript>
<img height="1" width="1"
src="https://www.facebook.com/tr?id=123123123123&ev=PageView
&noscript=1"/>
</noscript>
一旦我从脚本中删除了这段代码并将其自行加载到索引页面中,像素就开始工作了。
当用户在他们的浏览器中禁用脚本或者他们的浏览器不支持脚本时,使用 noscript 标签。理想情况下,您不必删除这部分代码。这是应该工作的 haml 代码。
:javascript
!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', '123123123123');
fbq('track', 'PageView');
%noscript
%img{:height => "1", :width => "1", :src => "https://www.facebook.com/tr?id=123123123123&ev=PageView&noscript=1"}