2
我創建一個網站,其中一些頁面包含至少一個媒體播放器,並且由於頁面大小的限制,我只想在媒體頁面中加載媒體播放器JavaScript文件。我將媒體信息存儲在頁面頭部的javascript對象中,其他腳本文件正在加載到主體的末尾。有條件地加載JavaScript的資源
我發現this solution(使用$.getScript
)非常好,但我想要一個不依賴於任何框架的解決方案。我看到jQuery網站一個有趣的實施,我改成了這樣:
<script>typeof(player) != 'object' || document.write(unescape('%3Cscript src="/assets/js/player/mediaplayer/jwplayer.js"%3E%3C/script%3E'));</script>
,它就像一個魅力,但因爲我不是親在JavaScript我想知道如何工作的呢?
- 如果我們沒有對象類型的變量,那麼不需要檢查第二個條件嗎?
- 其他瀏覽器如何處理此代碼?
- 是否所有人(甚至更老的IE)都跳過第二個條件,或者他們可能會檢查所有條件?
- 有跨瀏覽器行爲的更好的解決方案嗎?
有沒有辦法可以做到這一點的服務器上?似乎更容易。 – mccannf 2013-05-11 19:08:59
@mccannf用php檢查js對象?解析html輸出來加載一個js文件?你確定它快嗎? – 2013-05-11 19:10:42
如果首先由php生成html,則不需要解析。只要包含媒體對象,它就可以包含所需的'
使用更標準的方法來裝載:
jQuery的
使用getScript
原始的JavaScript
然後在你的代碼:
來源
2013-05-11 19:10:12 flavian
在我的問題中,「這個解決方案」指的是getScript,正如我所描述的,我可能想在加載jQuery之前加載js文件,並且我想要一個不使用任何框架的解決方案。無論如何,你的原始js解決方案似乎很有趣,+1。 – 2013-05-11 20:15:22
@commadelimited有人更新了帖子,原因未知。 – flavian 2014-02-19 23:07:19
我是更新帖子的人。我意識到我應該這樣做,而不是留下評論。 – commadelimited 2014-02-20 18:30:10