2016-03-01 89 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