2011-04-10 93 views
0

我在尝试加载html页面时遇到了fancybox的问题。加载外部页面时出现fancybox safari问题

我有一个链接

<a href="testPage.html" id="chal">Load testPage.html in fancybox</a> 

然后JS结合它的fancybox

$('a#chal').fancybox({ 
    padding: 0, 
    margin: 0, 
    showCloseButton: true, 
    scrolling: 'no', 
    opacity: 0.5, 
    centerOnScroll:true 
}); 

在Chrome,火狐和IE的的fancybox加载罚款。但在Safari中,html加载时没有伴随的css或js。如果我添加这样的事情,那么它的工作原理:

$('a#chal').click(function() { 
    $("head").append($("<link rel='stylesheet' href='blah.css' media='screen' />"); 
    }); 

然后它工作得很好,但它似乎像上面的解决方案是不去做的方式。有没有其他方法可以做到这一点?谢谢。

回答

1

我发现这个bug的信息非常有限,所以谢谢你指出Safari在fancybox弹出窗口中撕掉了js/css元素。我尝试了你的方法和createElement('script') method,但我努力让你的方法与js包括在一起,因为它用我自己的脚本来做时髦的事情。

作为最后的手段,我将之前位于弹出窗口的head元素中的自定义jquery脚本移动到了body元素(不是很好的窗体,我知道......),现在我所有的表单验证和ajax贴子都可以工作镀铬/ Safari浏览器/ FF/IE7/IE8。

HTH有人在那里。

干杯, 本