有条件地加载多边形
Conditionally load polyfills
我正在建立一个网站,我的目标群体是非常普遍的(年龄13-oo,所以你好IE9,你好古老的android浏览器),所以我需要一些东西的polyfills (viewport, calc等)。在我使用Modernizr和一些有条件的用户代理针对IOS 6-7等之前。然后使用yepnope.js加载特定的多边形。
现在modernizr 3.0已经发布了,我注意到modernizr .load()已经被弃用了。此外,也不推荐使用yepnope.js库。就像他们在网站上说的
"您可能应该遵循新的最佳实践。"
但是我一个也找不到。在谷歌上搜索了一段时间后,每个人都推荐Modernizr和Yepnope。但是这个问题太新鲜了(弃用,新版本的Modernizr),我找不到任何新的替代方法。
也许使用一些模块加载器(如require.js)会做的工作?如果是,怎么做?
我在https://cdn.polyfill.io维护polyfill服务,可以满足您的需求。我们有一个包含大约800个多边形的库,它们被选择性地捆绑在一起,只提供给需要它们的用户。你可以自己运行这个服务,也可以从我们的CDN中加载填充。
我看过的关于这种技术的最全面的文章是Philip Walton的《只在需要的时候加载Polyfills》。它太长了,不能引用任何部分,应该完整地阅读,所以我不打算复制/粘贴部分到这个答案中。
我花了一个上午自己想清楚了。你可以使用jQuery的getScript方法。我刚刚回答了一个类似的问题:https://stackoverflow.com/a/34518146/411436
from yepnope repo
说到有条件装运,我们建议你方为您正在测试的每个东西的组合输出一个构建。这可能听起来会生成很多文件(可能),但是电脑在这方面很在行。然后可以将脚本内联到您的页面只加载(异步!)一个构建的脚本针对该用户的特性进行了调优。所有的表现都赢了条件加载,没有加载100的延迟问题
- 如何使用url加载程序在webpack中导入多个图像
- 如何在生成下载文件时显示加载动画
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 无法在通过jQuery的ajax加载的页面中执行javascript
- Emberjs应用程序加载在除Index之外的所有路由上
- 在chrome.tabs.onCreated之后加载HTML页面
- 单击F5时如何停止页面加载
- HTML5音频加载和播放获胜'我不能在iPad上工作
- 跟踪在页面加载时应用内联样式的JavaScript
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- jQuery Lazy加载动画滚动
- Html页面上的多个Base64图像和平滑加载
- 如何创建带有插槽的vue js组件预加载程序
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- 如何使该数据在所有元素中加载
- GeoXML3 在存在多多边形时不加载多边形
- 通过javascript中的URL加载的GeoJSON多边形样式,MapBox
- 动态加载多边形
- 有条件地加载多边形
- 在谷歌地图api中加载多边形