我正在创建一个网站,其中一些页面至少包含一个媒体播放器,并且由于页面大小限制,我想仅在具有媒体的页面中加载媒体播放器 javascript 文件。我将媒体信息存储在页面头部的 javascript 对象中,并且在正文末尾加载其他脚本文件。
我发现这个解决方案(使用$.getScript
)非常好,但我想要一个不依赖任何框架的解决方案。我在jQuery网站上看到了一个有趣的实现,我将其更改为:
<script>typeof(player) != 'object' || document.write(unescape('%3Cscript src="/assets/js/player/mediaplayer/jwplayer.js"%3E%3C/script%3E'));</script>
它就像一个魅力,但我不是 javascript 专业人士,我想知道它是如何工作的?
- 如果我们没有对象类型的变量,就不需要检查第二个条件吗?
- 其他浏览器如何处理此代码?
- 他们所有人(甚至是较旧的 IE)是否都跳过了第二个条件,或者他们可能会检查所有条件?
- 有没有更好的跨浏览器行为解决方案?