【发布时间】:2012-03-22 17:31:12
【问题描述】:
我正在编写一个当前需要支持旧浏览器(如 IE 7)的 JavaScript,直到明年所有用户都升级到更现代的浏览器。
我正在考虑使用 jQuery 作为临时 polyfill,如下所示:
var flag=0;
window.JSON||(flag=1);
document.querySelectorAll||(flag=1);
if (flag===1) {
// load jQuery here
}
else {
// no need for jQuery
}
这种方法有意义吗?有没有更好的办法?
现场演示在这里http://jsfiddle.net/3mzxr/
【问题讨论】:
-
你到底在写什么? Jquery 不仅仅适用于 json - 它还有许多其他功能,并且在大多数情况下可以很好地弥补浏览器的缺陷。
-
我不确定你想做什么。如果您想检测用户的浏览器并更改您的代码。使用api.jquery.com/jQuery.browser
-
@Rup 好点,我还需要编写包装函数,如 myJSON=window.JSON||$.JSON
-
@MarcB 我主要需要 JSON 和 DOM 选择器。在我的情况下,其他 jQuery 函数并没有带来太多价值,最终我不想被绑定到特定的库。
-
@humaknight 浏览器检测还不够,功能可用性还取决于文档类型。关键是我想在加载 jQuery 之前检测它。
标签: javascript jquery json polyfills