【发布时间】:2011-12-08 07:02:25
【问题描述】:
我正在研究使用modernizr 来支持ie8 中的媒体查询。 您能否提供一个实现相同的示例。
我还查看了 Respond.js,但发现它包含所有 CDN 内容有点复杂。
任何其他建议也将不胜感激。
【问题讨论】:
标签: html css media-queries
我正在研究使用modernizr 来支持ie8 中的媒体查询。 您能否提供一个实现相同的示例。
我还查看了 Respond.js,但发现它包含所有 CDN 内容有点复杂。
任何其他建议也将不胜感激。
【问题讨论】:
标签: html css media-queries
【讨论】:
function() {alert('Adapt Loaded');} 有后备。享受;)
Modernizr 不向浏览器添加功能;它只是检测浏览器是否支持某些功能,因此允许您的网站确定是否需要为该功能使用 polyfill hack。
因此,您将使用 Modernizr 来确定是否需要使用 Respond.js。
Modernizr 网站确实包含 a page which lists all the polyfill hacks that they know of,因此如果您对 Respond.js 不满意,可以尝试查看此处以查看可用的替代方案。查看页面,我发现“媒体查询”部分列出了其他一些,因此您可以尝试一下。
但是,我会说 Respond.js 似乎确实是目前推荐用于此类事情的一个脚本。我没有尝试过列出的其他内容,因此无法比较它们,但我可以说 Respond.js 的工作方式是有充分理由的。
Respond.js 有这些复杂的跨域问题的原因是它与不理解媒体查询的浏览器一起工作的唯一方法是再次加载整个样式表并使用 Javascript 处理它。但是浏览器的安全模型不喜欢你用远程加载的脚本做那种事情。
正如我所说,我没有使用任何替代脚本,但我的猜测是它们会遇到类似的问题,因为它们需要工作方式才能使媒体查询正常工作不支持它们的浏览器。
解决此问题的最简单方法是将respond.js 脚本放入与您网站的其余部分相同的域中,而不是从单独的域中加载它。这完全绕过了处理 CDN 问题的任何需要。
希望对您有所帮助。
【讨论】:
internet explorer 8 不支持媒体查询。对于modernizr,这也不起作用。 Modernizr 不会向浏览器添加功能。为什么要在 ie8 中添加媒体查询?媒体查询适用于移动网站。媒体查询不适用于桌面浏览器。
【讨论】: