我試圖在模式(jquery)對話框中顯示ReCaptcha。我嘗試過使用blockUI,SimpelModal和ThickBox。對於其中的每一個,它都可以在Firefox中完美運行,而在Safari中完全沒有(尚未測試過Chrome)。Safari可以在模態對話框中顯示ReCaptcha嗎?
當對話框打開時,Safari會突然決定只顯示ReCaptcha。
我懷疑這是Webkit中的錯誤還是ReCaptcha中的錯誤。但我不明白Safari會如何處理ReCaptcha。或者它是ReCaptcha JavaScript與它混淆?對我來說這完全是個謎。
我很想聽聽任何有關解決方法的建議。
編輯:一個額外的細節:一旦Safari只顯示ReCaptcha,頁面的標題仍然是原始頁面的標題。來源仍然是原始來源。即使是DOM樹看起來也不錯。但它只顯示ReCaptcha。
如果我用另一個iframe替換了recaptcha,一切都顯示正常。在沒有模式對話框的情況下在頁面中顯示recaptcha也可以正常工作。所以它確實是導致問題的Safari + ReCaptcha + jQuery彈出窗口的組合。
編輯:我剛剛注意到ReCaptcha只在Javacript被禁用時才使用iframe。所以我的iframe測試是無關緊要的。它必須是ReCaptcha javascript(來自Google,所以你期望體面的跨瀏覽器能力),jQuery(通常擅長跨瀏覽器的東西)和Safari(與Google的Chrome相關的Webkit)之間的不兼容。
爲什麼這個特定的組合會失敗,這仍然是一個完全的謎。
只是測試和工程:修復了Safari和沒有按」 (4),Chrome,IE(8)和Opera(11)。 – 2011-08-10 13:23:39