我在使用fancybox在IE中的iframe中加载PDF时遇到问题。当我点击链接时,我得到了gif加载器,它只是永远旋转。控制台或页面上没有错误或类似的错误。所有版本的IE都会出现问题。所有其他浏览器工作正常。此外,PDF是内部文件。
以下是一些代码:
的 HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href=<?php echo base_url("templates/style1/css/jquery.fancybox.css") ?> />
<script src=<?php echo base_url("js/jquery-1.7.2.min.js") ?> type="text/javascript"></script>
<script type="text/javascript" src="../js/jquery.fancybox.js"></script>
</head>
<body>
<a class="fancybox-media italic" href="../contract_docs/dummy.pdf" >Test Doc</a>
</body>
</html>
JS
$(document).ready(function(){
/* fancybox handler */
$('.fancybox-media').fancybox({
openEffect : 'none',
closeEffect : 'none',
autoSize: true,
type : 'iframe'
});
});
编辑:我也试过升级jQuery,但没有用。
编辑:这是一个jsFiddle,非常简单,在IE中无法使用。
答案 0 :(得分:20)
似乎禁用预加载修复了iframe和IE的问题所以试试这个:
$(document).ready(function () {
/* fancybox handler */
$('.fancybox-media').fancybox({
openEffect: 'none',
closeEffect: 'none',
autoSize: true,
type: 'iframe',
iframe: {
preload: false // fixes issue with iframe and IE
}
});
});
使用fancybox v2.1.4和IE7进行测试。
检查 JSFIDDLE
答案 1 :(得分:-1)
我只是测试你的代码片段,它在ie 8和chrome
中为我工作我使用以下资源文件:
jquery:http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.4.min.js
js:http://fancybox.net/js/fancybox-1.3.4/jquery.fancybox-1.3.4.js
css:http://fancybox.net/js/fancybox-1.3.4/jquery.fancybox-1.3.4.css
我使用的代码:
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="http://fancybox.net/js/fancybox-1.3.4/jquery.fancybox-1.3.4.css" />
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.4.min.js" type="text/javascript"></script>
<script type="text/javascript" src="http://fancybox.net/js/fancybox-1.3.4/jquery.fancybox-1.3.4.js"></script>
<script>
$(document).ready(function(){
/* fancybox handler */
$('.fancybox-media').fancybox({
openEffect : 'none',
closeEffect : 'none',
autoSize: true,
type : 'iframe'
});
});
</script>
</head>
<body>
<a class="fancybox-media italic" href="pdf.pdf" >Test Doc</a>
</body>
</html>
maybe clear browser cach fix it