我在ipad和iphone的fancybox遇到麻煩。有時應該打開燈箱的鏈接沒有迴應。鏈接CSS被重置,燈箱不顯示。在桌面瀏覽器上,它工作正常。鏈接打開fancybox不工作在ios
我認爲它與屏幕大小,ios設備上的縮放級別以及fancybox如何確定框的大小和位置有關。我注意到,如果我重新加載頁面,鏈接有時會起作用。放大後,鏈接不再有效。
我沒有選擇,任何幫助將不勝感激。
我在ipad和iphone的fancybox遇到麻煩。有時應該打開燈箱的鏈接沒有迴應。鏈接CSS被重置,燈箱不顯示。在桌面瀏覽器上,它工作正常。鏈接打開fancybox不工作在ios
我認爲它與屏幕大小,ios設備上的縮放級別以及fancybox如何確定框的大小和位置有關。我注意到,如果我重新加載頁面,鏈接有時會起作用。放大後,鏈接不再有效。
我沒有選擇,任何幫助將不勝感激。
它既不是一個iOS或fancybox的問題。
除了您的驗證問題,如
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://creactor.nl/script/javascript.js文件中找到一些與iOS發生fancybox衝突的行:
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
該死的我和我的閱讀障礙。我檢查了桌面Chrome和Firefox **多次**沒有任何問題,然後又回到了這個問題,並意識到你明確指出問題出現在ios中,而不是在桌面瀏覽器中。|| **無論如何**,在我的iPod touch中檢查出來,果然,什麼都沒有發生。初步想法:使用Safari瀏覽器檢查器查看控制檯必須說的話。爲fancybox插件設置一個回調,並在回調中放置'console.log('test')'來查看它是否在ios中觸發。 http://moduscreate.com/enable-remote-web-inspector-in-ios-6/ – Joonas
想到的另一個想法是:嘗試隔離鏈接和相關的代碼。分階段剝離代碼,直到問題消失爲止。或者直接用一個乾淨的文檔測試它,看看它是否在ios中起作用(通過乾淨的文檔,我的意思是鏈接和fancybox的基本部分)。 – Joonas