2017-01-11 22 views
6

Tôi vừa tích hợp Google reCAPTCHA 2.0 vào trang web của mình. Nó hoạt động như mong đợi trong Chrome, Firefox và Edge, nhưng nó không hoạt động/xuất hiện trong Safari trên MacBook Pro của tôi.reCAPTCHA 2.0 không xuất hiện trong Safari (hoạt động trong Edge, Chrome và Firefox)

  • MacBook Pro: macOS Sierra version 10.12.2.
  • Safari: Phiên bản 10.0.2 (12602.3.12.0.1)

Các reCAPTCHA đang được sử dụng trong vòng một dhtmlXForm như thế này ...

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

nào trong tất cả các trình duyệt trừ Safari tạo này ...

enter image description here

Nhưng trong Safari nó không xuất hiện ...

enter image description here

Không có lỗi trong bảng điều khiển. Tôi đã xóa tất cả bộ nhớ cache của trình duyệt. Vị trí của dòng api.js là ngay trước thẻ đóng </head> như tài liệu của Google cho biết. Không chắc là phải làm cái gì nữa.

CẬP NHẬT: Trong Safari khi tôi kiểm tra khu vực nơi reCAPTCHA được cho là hiển thị, tôi chỉ thấy bản gốc <div class="g-recaptcha" data-sitekey="MY_KEY_HERE"></div> không có gì trong đó. Vì vậy, nó không đặt khung nội tuyến vào div đó vì một lý do nào đó. Hy vọng rằng sẽ giúp.

+0

Nếu bạn có quảng cáo, hãy thử tắt ... – Ani

+0

Safari - Tùy chọn -> Bảo mật -> Tôi bỏ chọn "Chặn cửa sổ bật lên". Tôi không có hiệu lực. Tôi không có phần mềm chặn quảng cáo nào khác. – gfrobenius

+0

** CẬP NHẬT: ** Trong Safari, nếu tôi đi tới Develop -> User Agent -> Nếu tôi chọn Edge, Chrome (Win hoặc Mac), Firefox (Win hoặc Mac) nó hoạt động. Đây là trong Safari, chỉ cần thay đổi tác nhân người dùng. Có lẽ điều đó sẽ giúp ai đó thu hẹp vấn đề này xuống, tôi không biết. – gfrobenius

Trả lời

0

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

'captcha-form' là id của mẫu chứa mã xác nhận khác. Loại bỏ các thẻ script để các script không được thực thi lần thứ hai khi Safari tái xuất hiện chúng sau khi jQuery di chuyển chúng. Trình xử lý sự kiện được tạo bởi tập lệnh không có trong thẻ tập lệnh, vì vậy chúng tồn tại.

2. Đặt các liên kết trong The reCAPTCHA tập tin cấu hình từ http để https

Tôi chỉ nhắc lại rằng tôi cũng đã bật "Sử dụng HTML5 trong hình thức" trong Cài đặt chung Formidable thời gian gần đây. Nếu tôi bỏ chọn điều đó, reCAPTCHA sẽ hoạt động trên Safari.

Vì vậy, điều này sẽ cho thấy rằng có vấn đề với việc triển khai HTML5 của bạn trong biểu mẫu, có thể chỉ hiển thị khi trang web sử dụng HTTPS.

3. Tham khảo những liên kết này cung cấp dưới đây để biết thêm chi tiết -

reCAPTCHA2.0 troubleshooting

reCAPTCHA Frequently asked questions

Google reCAPTCHA tutorial

+0

Tôi xin lỗi, tôi không hiểu. Không có gì có ID của 'hình thức captcha' ở bất kỳ đâu trên trang của tôi. Tôi không tạo biểu mẫu HTML thông thường. Đây là một 'dhtmlXForm'. Ngoài ra, tôi đọc bài viết đó nhưng không có cài đặt "Sử dụng HTML5 trong biểu mẫu", đó phải là cài đặt cũ hơn. Tôi đã thêm ** CẬP NHẬT ** vào câu hỏi gốc. – gfrobenius

0

Tôi đang phải đối mặt với cùng một vấn đề trên trang web của tôi, trong tôi trong trường hợp của Firefox, có vẻ như JavaScript bị vô hiệu hóa (mặc dù nó được kích hoạt trong trình duyệt!và tôi đã thử nghiệm trên 3 máy tính khác nhau) Tôi biết điều này bởi vì khi tôi thay đổi cài đặt cho reCaptcha để hỗ trợ các trình duyệt không hỗ trợ Javascript, nó đã giải quyết được sự cố cho tôi.

Để thực hiện việc này, bạn có thể "điều hướng đến admin console và di chuyển thanh trượt tùy chọn bảo mật thành" dễ nhất cho người dùng ". Hãy nhớ rằng với cài đặt này reCAPTCHA sẽ không thể sử dụng tất cả các tính năng bảo mật của nó." như đã nói trong reCAPTCHA Frequently asked questions

Tôi hy vọng điều này sẽ giúp người nào đó thu hẹp sự cố.

PS: Tôi không có đủ danh tiếng để để lại nhận xét.

Các vấn đề liên quan