/*@cc_on
@set @version = @_jscript_version
@if (@_win32)
document.write("You are running 32 bit IE " + @version);
@elif (@win_16)
document.write("You are running 16 bit IE " + @version);
@else @*/
document.write("You are running another browser or an old IE.");
/*@end @*/
4条答案
按热度按时间iezvtpos1#
有点晚了,但我需要同样的,不能给予,直到一个可行的解决方案。
我有一个“main”javascript文件,其中有一行代码:
然后在代码中我可以检查这个常量。现在我需要在构建时解决这个问题,一些自动化会根据项目配置为我设置这个常量。在这里我找到了fnr.exe命令行工具,用于在文件中查找和替换。这是一个相当不错的实用程序,无论如何都值得检查一下。所以在这里我在项目目录中创建了一个名为
BuildScripts
的文件夹。我已经将fnr.exe
文件复制到其中,并创建了一个如下所示的批处理文件。然后,我在Web项目中定义了相应的预构建事件,如下所示:
及其在发布配置中的配对:
现在一切都像一个魅力,我可以有日志,跟踪,调试和发布配置在Javascript的特殊逻辑。
nzrxty8p2#
没有。
#if
/#endif
是C#(和其他语言)中的预处理器指令,告诉编译器在编译时有条件地包含/排除代码段。JavaScript是一种没有预编译的脚本语言,因此使用这样的预处理器指令没有多大意义。
bis0qfac3#
只有IE才有条件编译:
nice article here
niwlg2el4#
晚了点,但下面是我在Visual Studio上所做的