0

我在 ipad 和 iphone 上使用 fancybox 时遇到问题。应该打开灯箱的链接有时没有响应。链接 css 已重置,灯箱未显示。在桌面浏览器上它工作正常。

我认为这与屏幕大小、ios 设备上的缩放级别以及fancybox 如何确定盒子的大小和位置有关。我注意到,如果我重新加载页面,链接有时会起作用。放大后链接不再起作用。

我没有选择,任何帮助将不胜感激。

4

1 回答 1

1

这既不是 iOS 问题,也不是花式问题。

除了您的验证问题,例如

Mismatch between Public and System identifiers in the DOCTYPE declaration

...因为你有:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

......当你应该有:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

...(如果您能看到不同之处)您的http://creator.nl/script/javascript.js文件中还有一些使 fancybox 与 iOS 发生冲突的行:

var myLinks = document.getElementsByTagName('a');
for(var i = 0; i < myLinks.length; i++){
   myLinks[i].addEventListener('touchstart', function(){this.className = "hover";}, false);
   myLinks[i].addEventListener('touchend', function(){this.className = "";}, false);
}

我不是 iOS 专家,所以我不能告诉你如何重写这些行,但如果你隔离它们,那么 fancybox 就可以正常工作。

我对您的网站做了一个小清理,包括设置正确的 DOCTYPE 和重新组织脚本顺序,并注释掉上面的那些行,fancybox 工作正常(在我的 iPad 中)。

检查JSFIDDLE

于 2013-01-09T22:23:42.087 回答