我正在尝试在我的代码中添加用于谷歌分析的脚本。但我希望它只在环境是生产而不是dev或qa的情况下运行。这个javascript运行在页面加载本身,我很困惑如何让它有条件地运行。我的应用程序是一个asp.net应用程序。
Javascript总是令我困惑。页面中还有许多其他javascripts,我只需要禁用它。如果是.net代码/函数,我会检查环境并有条件地运行该函数。但我对如何使用javascript实现此类功能感到困惑
答案 0 :(得分:2)
查看位置对象:http://www.w3schools.com/jsref/obj_location.asp。您可以放入在页面加载时运行的脚本:if(location.host ==“ yourproductionhostname ”){ yourfunction();}
答案 1 :(得分:1)
它取决于它的功能,以及如何在您的网站中完成JS架构。
例如,在我的网站中,我有这个在网站的每个页面中加载的commons.js文件,因为这种行为在其他代码中很有用,我将有一个名为“DEBUG
的全局变量“
生产:
var DEBUG = false;
开发和质量保证:
var DEBUG = true;
并在你的功能类似:
if (!DEBUG) {
// DO YOUR THING...
}
您也可以根据DEBUG
图层中的某些逻辑动态完成此变量(controller
)。
答案 2 :(得分:1)
将您的GA代码放入控件中。将该控件放在您的母版页上。嗅探服务器的IP。如果它不是生产,则“隐藏”该页面上的控件。 .NET可以自己完成所有这些工作。不需要“混淆”javascript。
答案 3 :(得分:1)
我不知道ASP,但你可以有条件地包含html脚本标签
var DEVEL = true;
if (!DEVEL) {
#call echo function or whatever ASP have
echo "<script <!-- put code for google analytics here -->";
}