如何知道JS代码是在浏览器中执行还是在设计模式中执行
How to know if JS code is executing in browser or in design mode
我相信intellisense可以解决很多时间和错误。比方说,我打了一个ajax电话,我知道我会得到一系列的汽车。
$.ajax({
type: "POST",
url: "GetCars.aspx",
success: function (cars) {
for(var i = 0; i < cars.length; i++)
{
var car = cars[i];
if(document.designMode)
{
car = { type: "", model: 0, colors: new Array() };
}
// Intelissense wors great in here!
// car. "the moment I type the '.' I see type, model, and colors
}
}
});
我需要一些在visualstudio编辑器中返回true,在浏览器中返回false的东西。CCD_ 1在VS和浏览器中返回true,因此始终执行行CCD_我不希望car = { type: "", model: 0, colors: new Array() };
行只在VS上的浏览器上执行,所以我得到了intellisense。我该怎么做?
解决方案
感谢我想出的@Shoms:
var car = null;
if (window.navigator.userAgent.length === 212) {
car = { type: "", model: 0, colors: new Array() };
}
// Intellizense works great :)
请注意,您的VS可能需要不同的编号。对我来说,我必须尝试>500,然后<250,<125等,直到我发现它的长度是212。
您可以检查userAgent并根据它决定要做什么。你甚至可以在一些浏览器中设置一个自定义的userAgent,以备不时之需。
window.navigator.userAgent
例如,你的情况可能是:
if(window.navigator.userAgent.indexOf('Mozilla') !== -1) {
// browser here
} else {
// VS here (or a non-Mozilla browser, but that's not relevant for development)
car = { type: "", model: 0, colors: new Array() };
}
相关文章:
- 执行动态模式弹出
- 用于操纵DOM API的Javascript设计模式
- 用于多个选项卡和模块化的knockoutjs设计模式
- 自动化设计模式c++
- jQuery自动完成标记新的标签设计模式
- 有没有一种方法可以在设计模式下将ng模型或工厂绑定到iframe
- Javascript MVVM 设计模式 - 如何跟踪脏状态以及谁应该做 Ajaxing
- 包含 2 个或更多对象的页面上的 JavaScript 设计模式
- 在 Node 中.js释放 zalgo 的设计模式为什么异步路径是一致的
- Django设计模式-在加载时填充客户端JavaScript变量的方法
- Javascript策略设计模式问题
- 用于处理带有promise的外部接口中的参数的设计模式
- angularjs设计模式和从服务器获取数据的最佳实践
- JavaScript设计模式的建议
- 这种设计模式什么时候才能打破
- JavaScript设计模式,一个函数正在被覆盖
- BIRT报告在设计模式下导出到XLSX,但在运行时不导出
- 通量/反应设计模式
- 它是什么样的Javascript设计模式/方法
- 如何知道JS代码是在浏览器中执行还是在设计模式中执行