我是一位SQL程序员,几年前曾经编写.NET桌面应用程序,因此,现在我当然要维护公司的网站。我继承了一个网站,该网站在生产中会在各处执行像素代码。当我进行测试时,我不想执行这些功能,这样我就不会歪曲第三方营销部门的跟踪(或者让他们找出使我的代码更改生效需要花费多少时间,让我们说实话...)。是否有办法禁用此脚本,当我在IDE中时只说“ nope”?
我已经在_layout.cshtml视图中追溯了要禁用的所有功能。
<!-Facebook像素代码->
<脚本>
!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)}(窗口,文档,“脚本”,
'https://connect.facebook.net/en_US/fbevents.js');
fbq('init','');
fbq('track','PageView');
<!-结束Facebook像素代码->
如果需要,这是对此函数的调用之一。
<!-Facebook ViewContent像素代码col->
<脚本>
fbq('track','ViewContent',{
content_ids:['@ Model.Collection.Sku'],
content_type:“产品”,
值:@ Model.Collection.Price,
货币:美元'
});
<!-结束Facebook ViewContent像素代码->
没有办法说“如果调试==-1 {不执行此操作?”?我将使用什么参数,它将去哪里?
答案 0 :(得分:0)
(感谢EdSF和所有人) 我一直在寻找的设置是:this.Context.IsDebuggingEnabled
<!-- Facebook Pixel Code -->
<script>
@if (!this.Context.IsDebuggingEnabled)
{
<text>
!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', '<PixelID>');
fbq('track', 'PageView');
</text>
}
</script>
<noscript>
@if (!this.Context.IsDebuggingEnabled)
{
<text>
<img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=<PixelID>&ev=PageView&noscript=1"/>
</text>
}
</noscript>
<!-- End Facebook Pixel Code -->
在localhost上,我得到:
<!-- Facebook Pixel Code -->
<script>
</script>
<noscript>
</noscript>
<!-- End Facebook Pixel Code -->
在服务器上,功能应该在该位置。