这可能是一个愚蠢的问题,但是我想使用Modernizr JS库检测一些浏览器属性,以确定要显示或不显示什么内容。
我有一个名为Pano2VR的应用程序,它可以同时输出HTML5和SWF。我需要用于iOS设备用户的HTML5。
但是,IE根本不呈现此“ HTML5”输出。看来他们的输出使用CSS3 3D变换和WebGL,IE9中显然不支持一种或多种。
因此,对于那些用户,我需要显示Flash版本。我打算使用IFRAME,并通过Modernizr脚本或document传递SRC。根据浏览器写出正确的IFRAME代码。
所有这些导致我如何使用Modernizr来仅检测IE或不检测IE?还是检测CSS 3d转换?
还是有其他方法可以做到这一点?
我同意我们应该测试功能,但是很难找到一个简单的答案:“现代浏览器支持哪些功能,而旧浏览器不支持?”
因此,我启动了许多浏览器,并直接检查了Modernizer。我添加了一些我绝对需要的功能,然后添加了“
inputtypes.color”,因为它似乎涵盖了我关心的所有主要浏览器:Chrome,Firefox,Opera,Edge
…和IE11。现在,我可以轻轻建议用户使用Chrome / Opera / Firefox / Edge会更好。
这就是我使用的-您可以编辑事物列表以测试您的特定情况。如果缺少任何功能,则返回false。
/**
* Check browser capabilities.
*/
public CheckBrowser(): boolean
{
let tests = ["csstransforms3d", "canvas", "flexbox", "webgl", "inputtypes.color"];
// Lets see what each browser can do and compare...
//console.log("Modernizr", Modernizr);
for (let i = 0; i < tests.length; i++)
{
// if you don't test for nested properties then you can just use
// "if (!Modernizr[tests[i]])" instead
if (!ObjectUtils.GetProperty(Modernizr, tests[i]))
{
console.error("Browser Capability missing: " + tests[i]);
return false;
}
}
return true;
}
这是“ inputtypes.color”所需的GetProperty方法。
/**
* Get a property value from the target object specified by name.
*
* The property name may be a nested property, e.g. "Contact.Address.Code".
*
* Returns undefined if a property is undefined (an existing property could be null).
* If the property exists and has the value undefined then good luck with that.
*/
public static GetProperty(target: any, propertyName: string): any
{
if (!(target && propertyName))
{
return undefined;
}
var o = target;
propertyName = propertyName.replace(/\[(\w+)\]/g, ".$1");
propertyName = propertyName.replace(/^\./, "");
var a = propertyName.split(".");
while (a.length)
{
var n = a.shift();
if (n in o)
{
o = o[n];
if (o == null)
{
return undefined;
}
}
else
{
return undefined;
}
}
return o;
}
本文向大家介绍使用Modernizr检测HTML5功能,包括了使用Modernizr检测HTML5功能的使用技巧和注意事项,需要的朋友参考一下 Modernizr是一个小型JavaScript库,用于检测下一代Web技术的本机实现的可用性。 这是Modernizr可以检测到的功能列表- 特征 CSS属性 JavaScript检查 @ font-face .fontface Modernizr.fo
本文向大家介绍Modernizr检测到的功能,包括了Modernizr检测到的功能的使用技巧和注意事项,需要的朋友参考一下 以下是Modernizr可以检测到的功能列表- 特征 CSS属性 JavaScript检查 @ font-face .fontface Modernizr.fontface 帆布 。帆布 现代画布 画布文字 .canvastext Modernizr.canvastext H
问题内容: 如何检测使用Javascript(并且不使用modernizr)的浏览器支持CSS转换? 问题答案: 也许是这样的。基本上,它只是在查看是否已定义CSS 属性: 改编自此要点。所有的功劳都去了。
问题内容: 我想编写一个接受参数的函数,该参数可以是序列或单个值。值的类型为str,int等,但我 不 希望将其限制为硬编码列表。换句话说,我想知道参数X是一个序列还是必须转换为序列的对象,以避免以后出现特殊情况。我可以做 但是可能还有我不知道的其他序列类型,也没有通用的基类。 -N。 编辑 :请参阅下面的“答案”,了解其中大多数答案对我没有帮助的原因。也许您有更好的建议。 问题答案: 上述所有方
我用一个程序来检测图像中的正方形。这与我从互联网下载的图像很好地配合。但我应该做的是检测从相机拍摄的图像的方块。首先,我从视频中提取图像,然后我尝试从这些图像集中检测正方形,但代码对这些提取的图像不起作用(但对其他图像效果很好)。我应该怎么做才能完成那项任务?
问题内容: 我在下面找到此定向测试代码,以查找JQTouch参考资料。这可以在移动Safari上的iOS模拟器中正常运行,但在Phonegap中无法正确处理。我的项目遇到了与杀死该测试页相同的问题。有没有办法在Phonegap中使用JavaScript来感知方向变化? 问题答案: 这是我的工作: * 根据MDN的定义, *2019年5月更新:已弃用,大多数浏览器均不支持。该事件与window.or