2017-01-11 382 views
6

我剛剛將Google reCAPTCHA 2.0集成到了我的網站中。它在Chrome,Firefox和Edge中按預期工作,但在我的MacBook Pro上無法正常工作/出現在Safari中。reCAPTCHA 2.0未出現在Safari中(在Edge,Chrome和Firefox中可用)

  • MacBook Pro:macOS Sierra版本10.12.2。
  • Safari瀏覽器:版本10.0.2(12602.3.12.0.1)

被一個dhtmlXForm這樣內使用的驗證碼...

... 
{ type:"label", name:"myrecaptcha", label:"<div class=\"g-recaptcha\" data-sitekey=\"MY_KEY_HERE\"></div>", offsetLeft:320 }, 
... 

這在所有的瀏覽器除了Safari瀏覽器產生這...

enter image description here

但在Safari中它不會出現...

enter image description here

有在控制檯中沒有錯誤。我清除了所有瀏覽器緩存。 api.js行的位置在Google Docs文檔所述的標記</head>之前。不知道還有什麼要嘗試。

更新:在Safari中,當我檢查reCAPTCHA應該顯示的區域時,我只看到沒有任何內容的原始<div class="g-recaptcha" data-sitekey="MY_KEY_HERE"></div>。所以它不會因爲某種原因將iframe放入該div。希望有所幫助。

+0

如果您有adblock,請嘗試將其關閉... – Ani

+0

Safari - 首選項 - >安全 - >我未選中「阻止彈出窗口」。我沒有效果。我沒有其他的廣告攔截軟件。 – gfrobenius

+0

**更新:**在Safari中,如果我去開發 - >用戶代理 - >如果我選擇Edge,Chrome(Win或Mac),Firefox(Win或Mac),它可以工作。這是在Safari中,只需更改用戶代理。也許這會幫助某人縮小這個問題,我不知道。 – gfrobenius

回答

0

1.$('#captcha-form script').remove();

'captcha-form'是包含驗證碼的形式的ID。刪除腳本標籤,以便在jQuery移動它們時Safari重新渲染它們時,腳本不會再次執行。腳本創建的事件處理程序不在腳本標記中,因此它們可以存活。

2.坐落在reCAPTCHA的配置文件的鏈接從HTTPHTTPS

我只記得,我還收到了強大的常規設置中打開「使用HTML5表單中的」最近。如果我取消選中,則reCAPTCHA適用於Safari。

因此,這表明您在窗體中實現HTML5時存在問題,也許只有在網站使用HTTPS時纔會出現問題。

參考更多詳細信息,下面提供這些鏈接 -

reCAPTCHA2.0 troubleshooting

reCAPTCHA Frequently asked questions

Google reCAPTCHA tutorial

+0

對不起,我不明白。在我的頁面的任何地方都沒有帶有「captcha-form」的ID。我沒有創建一個正常的HTML表單。這是一個'dhtmlXForm'。另外,我閱讀了該文章,但沒有「在表單中使用HTML5」設置,該設置必須是較早的設置。我在原始問題中添加了** UPDATE **。 – gfrobenius

0

我面臨着同樣的問題,我的網站上,在我它是在Firefox中,顯然這是因爲JavaScript被禁用(即使它已在瀏覽器中啓用!我測試了3臺不同的計算機) 我知道這一點,因爲當我改變reCaptcha的設置以支持不支持Javascript的瀏覽器時,它爲我解決了這個問題。

要做到這一點,您可以「導航到admin console並將安全性首選項滑塊移至」對用戶最簡單「。請記住,使用此設置,reCAPTCHA將無法使用其所有安全功能。如在reCAPTCHA Frequently asked questions

中所述我希望這能幫助某人縮小問題的範圍。

PS:我沒有足夠的聲望留下評論。

相關問題