<script>
$(document).ready(function() {
$("#various2").fancybox({
'width': 800,
'height': 570,
'type':'iframe'
});
});
</script>
我在IE8和7中遇到错误但在IE9中没有错误
对象不支持属性或方法'fancybox'
错误就在这一行
$("#various2").fancybox({
我的脚本在</body>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" defer="defer"></script>
<script>!window.jQuery && document.write(unescape('%3Cscript src="js/libs/jquery-1.5.1.min.js"%3E%3C/script%3E'))</script>
<script src="js/plugins.js" defer="defer"></script>
<script>
$(document).ready(function() {
$("#various2").fancybox({
'width': 800,
'height': 570,
'type':'iframe'
});
});
</script>
答案 0 :(得分:2)
您在jQuery库上使用defer
,这意味着它可能在jQuery代码本身之前没有加载。
由于您的脚本位于</body>
之前的页面底部,因此无需延迟加载它们,因为页面的其余部分已经加载。
答案 1 :(得分:1)
我想,你应该调试defer =“defer”部分。不同的IE版本可能会以不同的方式解释它,导致在解析正文脚本后解析js libs。
答案 2 :(得分:1)
内联脚本标记不支持defer
,因此只要遇到它们就会立即执行。由于您的外部脚本具有defer
,因此将来会在某个任意点加载。因此,您的内联脚本将(几乎)始终在外部脚本下载并运行之前执行。