2016-03-01 70 views
2

为了避免在移动设备中注入视频,我使用了window.matchMedia条件。 Here它说,matchMedia将会因为Safari浏览器9工作进展顺利(我测试就可以了),但我的代码是完全地忽略:Safari忽略window.matchMedia

if (window.matchMedia("(min-width: 1025px").matches) { 
    console.log('match'); 

    document.addEventListener("DOMContentLoaded", function() { initialiseMediaPlayer(); }, false); 

    function initialiseMediaPlayer() { 

     (stuff here...) 

    } 

} 

此代码工作完全在Chrome,铬,火狐,IE和边缘。

有没有人有类似的问题?

回答

3

问题在于格式化,奇怪的是其他浏览器修复了行为,即使它格式不正确。它在1025px之后缺少一个额外的结尾“)”圆括号。试试:

if (window.matchMedia('(min-width:1025px)').matches) { 
    console.log('match'); 

    document.addEventListener("DOMContentLoaded", function() { initialiseMediaPlayer(); }, false); 

    function initialiseMediaPlayer() { 

     (stuff here...) 

    } 

} 
+0

天啊!我蠢了!非常感谢你! – Marco

+0

不用担心知道其他浏览器修复它并且Safari不会:) – Zanderi

+0

这是真的!我花了近一个星期没有注意到缺少的支架!但我在Chrome和Firefox上开发,并且那个支架对我来说几乎是看不见的,为什么它在所有的环境中都不能在safari中工作;)ahahahh很好的捕捉! – Marco