所以我正在测试fancybox。使用这个简单的例子(在body体内定义:
<link rel="stylesheet" href="../../Content/Scripts/fancybox/jquery.fancybox-1.3.4.css"
type="text/css"/>
<script type="text/javascript" src="../../Content/Scripts/fancybox/jquery.fancybox-1.3.4.js"></script>
<script type="text/javascript" src="../../Content/Scripts/fancybox/jquery.easing-1.3.pack.js"></script>
<script type="text/javascript">
function ShowModal() {
$.fancybox('<h2>test</h2><p>asdf</p>', {
'transitionIn': 'fade',
'transitionOut': 'fade'
});
}
</script>
我在其他地方调用ShowModal函数,并且还在头部引用了jquery。
这在Firefox和Chrome中运行良好 - 但在IE8中我在第324行遇到js错误 - 可能与“onCleanup”方法有关。
我是chrome我之前有这个错误: 未捕获的TypeError:对象#没有方法'onCleanup'
我认为是IE抱怨的错误相同,我仔细检查了一些脚本路径并且Chrome中的错误消失了,但IE仍然抱怨 - 有人可以帮助我吗?
答案 0 :(得分:2)
当然是因为我的链接标签不在头脑中 - 我真的不得不停止思考斑马了,因为我看到条纹。
答案 1 :(得分:2)
关于此错误(currentOpts.onCleanup [undefined]的结果不是第324行的函数)
我今天花了大约4个小时试图找出这个。我DID包含了fancybox样式表,我正在做的一切正确。原来在FancyBox中有一个愚蠢的错误。我找到了原因:
如果任何具有非空白标题属性的样式表出现在Fancybox css之前,您将收到此错误。这种情况发生在所有浏览器中。
将会发生这个错误:
<head>
<title>OH NOES</title>
<link rel="stylesheet" href="/css/mysite.css" type="text/css" media="all" title="Main Styles" charset="utf-8">
<link rel="stylesheet" href="/css/jquery.fancybox-1.3.4.css" type="text/css" media="screen" title="Modal Dialog Support" charset="utf-8">
解决方案是做这些事之一
1。在fancybox css之前包含的任何样式表都没有title属性
<head>
<title>THIS WILL WORK</title>
<link rel="stylesheet" href="/css/mysite.css" type="text/css" media="all" charset="utf-8">
<link rel="stylesheet" href="/css/jquery.fancybox-1.3.4.css" type="text/css" media="screen" title="Modal Dialog Support" charset="utf-8">
2. 或者,首先包含fancybox的css。
<head>
<title>THIS WILL WORK TOO</title>
<link rel="stylesheet" href="/css/jquery.fancybox-1.3.4.css" type="text/css" media="screen" title="Modal Dialog Support" charset="utf-8">
<link rel="stylesheet" href="/css/mysite.css" type="text/css" media="all" title="Main Styles" charset="utf-8">
(谢谢,Fancybox,浪费了我一半的时间。)