【问题标题】:Enquire.js and IE8Enquire.js 和 IE8
【发布时间】:2013-12-02 23:50:35
【问题描述】:

我有这段代码在 IE8 上不起作用...谷歌搜索我找不到解决方案...

你知道我怎样才能让它在 IE8 上也能工作吗?

这是简单的代码(桌面、平板和移动设备是带有媒体查询的字符串变量...):

    enquire.register(desktop, {
                match: function () {
                    animate(a, b);
                }
            }).register(tablet, {
                match: function () {
                    animate(a, b);
                }
            }).register(mobile, {
                match: function () {
                    animate(a, b);
                }
            });

function animate(a, b) { ... };

【问题讨论】:

  • 我看过了,但我仍然不明白如何让它工作。
  • 我遇到了同样的问题。我尝试在我的 EnquireJS 脚本之前添加标志和 Paul Irish polyfill 脚本。还是没有运气。 IE9 在匹配的媒体查询中仍然不遵守 JS。

标签: jquery internet-explorer-8 enquire.js


【解决方案1】:

这取决于您希望 IE8 发生什么。如果你只是想让它运行桌面处理程序,那么改变你的代码:

enquire.register(desktop, {
  match: function () {
    animate(a, b);
  }
}, true) // note the true here

true 选项“shouldDegrade”告诉inquire 将媒体查询视为始终匹配不支持的浏览器(IE8 不支持CSS3 媒体查询)。这在http://wicky.nillia.ms/enquire.js/#delving-deeper

的标题“移动优先”下进行了介绍

或者,如果您想要完全支持 IE8,您将不得不使用更高级的 matchMedia polyfill。此处介绍了您的 polyfill 选项:http://wicky.nillia.ms/enquire.js/#legacy-browsers

请再次阅读文档,因为您似乎遗漏了一些要点:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多