【发布时间】:2019-08-29 00:33:49
【问题描述】:
我是一名 SQL 程序员,多年前曾编写 .NET 桌面应用程序,所以当然,我现在开始维护公司网站。我继承了一个网站,该网站在生产中到处执行像素代码。当我在测试时,我宁愿不执行这些功能,这样我就不会扭曲第 3 方营销部门的跟踪(或者让他们知道我花了多少次才能让我的代码更改生效,让我们说实话...)。有没有办法禁用这个脚本,当我在 IDE 中时说“不”?
我已经在 _layout.cshtml 视图中跟踪了我想要禁用的所有功能。
<!-- 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', '<PixelID>');
fbq('track', 'PageView');
</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=<PixelID>&ev=PageView&noscript=1"
/></noscript>
<!-- End Facebook Pixel Code -->
如果需要,这里是对该函数的调用之一。
<!-- Facebook ViewContent pixel code col-->
<script>
fbq('track', 'ViewContent', {
content_ids: ['@Model.Collection.Sku'],
content_type: 'product',
value: @Model.Collection.Price,
currency: 'USD'
});
</script>
<!-- End facebook ViewContent pixel code -->
有没有办法说“如果调试 ==-1 {不执行这个}?我会使用什么参数,它会去哪里?
【问题讨论】:
-
取决于您使用的工具,但最简单的一种:将其注释掉。
-
#if !DEBUG Console.WriteLine("Debug version"); #endif -
使用VS 2017。如果我注释掉这个,我必须记得在我推广更改时取消注释。有没有办法说“如果调试== -1 {不执行这个}?我会使用什么参数,代码会去哪里?
-
将问题更新为(希望)使其更清晰......
-
玛丽,那段代码会去哪里?我应该用#if 包装 (用函数替换“调试版本”吗?它似乎没有做任何事情。谢谢。
标签: c# asp.net-mvc