加载外部页面时 fancybox safari 问题
当我尝试加载 html 页面时,我遇到了 fancybox 问题。
我有一个链接
<a href="testPage.html" id="chal">Load testPage.html in fancybox</a>
,然后是将其绑定到 fancybox 的 js
$('a#chal').fancybox({
padding: 0,
margin: 0,
showCloseButton: true,
scrolling: 'no',
opacity: 0.5,
centerOnScroll:true
});
在 chrome、firefox 和 IE 中,fancybox 加载正常。但在 Safari 中,html 加载时没有附带的 css 或 js。如果我添加这样的东西,那么它就可以工作:
$('a#chal').click(function() {
$("head").append($("<link rel='stylesheet' href='blah.css' media='screen' />");
});
然后它工作得很好,但似乎上面的解决方案不是解决问题的方法。还有其他方法可以做到这一点吗?谢谢。
I'm having an issue with fancybox when I try and load an html page.
I have a link
<a href="testPage.html" id="chal">Load testPage.html in fancybox</a>
and then the js that binds it to fancybox
$('a#chal').fancybox({
padding: 0,
margin: 0,
showCloseButton: true,
scrolling: 'no',
opacity: 0.5,
centerOnScroll:true
});
In chrome, firefox, and IE the fancybox loads fine. But in Safari, the html loads without the accompanying css or js. If I add something like this, then it works:
$('a#chal').click(function() {
$("head").append($("<link rel='stylesheet' href='blah.css' media='screen' />");
});
Then it works just fine but it seems like the solution above is not the way to go about it. Is there any other way to do this? Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我发现有关此错误的信息非常有限,因此感谢您指出 Safari 删除了 fancybox 弹出窗口中的 js/css 元素。我尝试了你的方法和 createElement('script') 方法 但我很难得到您使用 js 的方法包括,因为它使用我自己的脚本做一些时髦的事情。
作为最后的手段,我将之前位于弹出窗口的 head 元素中的自定义 jquery 脚本移至 body 元素(我知道这不是一个好的形式......;),现在我所有的表单验证和 ajax 帖子都可以在 Chrome/Safari/ 中工作FF/IE7/IE8。
那里有人。
干杯,
本
I found very limited info on this bug, so thanks for pointing out that Safari rips out js/css elements in fancybox popups. I tried your method and the createElement('script') method but I struggled to get your method working with js includes as it was doing funky things with my own script.
As a last resort I moved my custom jquery scripts that were previously in the head element of the popup to the body element (not good form I know... ;) and now all my form validation and ajax posts work in Chrome/Safari/FF/IE7/IE8.
HTH someone out there.
Cheers,
Ben