|
@@ -1,14 +1,42 @@
|
1
|
1
|
window.onload = function () {
|
|
2
|
+
|
2
|
3
|
var api_url = "https://captcheck.netsyms.com/api.php";
|
3
|
4
|
|
4
|
|
- /* Add custom styles */
|
5
|
|
- var styles = document.createElement('style');
|
6
|
|
- /* Remove newlines/comments from captcheck.css and put it here */
|
7
|
|
- styles.innerHTML = ".captcheck_box{font-family:Ubuntu,Arial,sans-serif;color:black;border:1px solid #e0e0e0;border-radius:3px;display:inline-block;padding:3px;margin:5px 2px 5px 1px;background-color:#f5f5f5;text-decoration:none}.captcheck_label_message,.captcheck_label_message b{color:black;font-family:Ubuntu,Roboto,Arial,sans-serif}.captcheck_answer_label{border:0}.captcheck_answer_label>input{visibility:hidden;position:absolute}.captcheck_answer_label>input+img{cursor:pointer;border:2px solid transparent;border-radius:3px;min-width:32px;width:18%;max-width:64px}.captcheck_answer_label>input:checked+img{cursor:pointer;border:2px solid #424242;border-radius:3px}.captcheck_error_message{color:red}.captcheck_question_image{display:initial}.captcheck_question_access{display:none}.captcheck_alt_question_button{float:right;font-size:80%;cursor:pointer;color:inherit;text-decoration:inherit;border:0}.captcheck_answer_images{display:initial}.captcheck_answer_access{display:none}";
|
8
|
|
- document.body.appendChild(styles);
|
|
5
|
+ function chooseAnswer(idp, ans) {
|
|
6
|
+ var box = document.getElementById("captcheck_" + idp + "_answer_" + ans);
|
|
7
|
+ box.checked = true;
|
|
8
|
+ return false;
|
|
9
|
+ }
|
|
10
|
+
|
|
11
|
+ function switchMode(idp) {
|
|
12
|
+ var switch_label = document.getElementById("captcheck_" + idp + "_alt_question_button");
|
|
13
|
+ var img_q = document.getElementById("captcheck_" + idp + "_question_image");
|
|
14
|
+ var acc_q = document.getElementById("captcheck_" + idp + "_question_access");
|
|
15
|
+ var img_a = document.getElementById("captcheck_" + idp + "_answer_images");
|
|
16
|
+ var acc_a = document.getElementById("captcheck_" + idp + "_answer_access");
|
|
17
|
+ if (switch_label.innerHTML == "> Text mode") {
|
|
18
|
+ switch_label.innerHTML = "> Image mode";
|
|
19
|
+ img_q.style.display = "none";
|
|
20
|
+ acc_q.style.display = "initial";
|
|
21
|
+ img_a.style.display = "none";
|
|
22
|
+ acc_a.style.display = "initial";
|
|
23
|
+ acc_a.innerHTML = "<input type='text' name='captcheck_selected_answer' aria-label='Type your answer here.' autocomplete='off' autofill='off'/>";
|
|
24
|
+ } else {
|
|
25
|
+ switch_label.innerHTML = "> Text mode";
|
|
26
|
+ img_q.style.display = "initial";
|
|
27
|
+ acc_q.style.display = "none";
|
|
28
|
+ img_a.style.display = "initial";
|
|
29
|
+ acc_a.style.display = "none";
|
|
30
|
+ acc_a.innerHTML = "";
|
|
31
|
+ }
|
|
32
|
+ }
|
9
|
33
|
|
|
34
|
+ var nonce = "";
|
10
|
35
|
/* Loop over all the CAPTCHA containers on the page, setting up a different CAPTCHA in each */
|
11
|
36
|
Array.prototype.forEach.call(document.getElementsByClassName("captcheck_container"), function (container) {
|
|
37
|
+ if (container.dataset.stylenonce) {
|
|
38
|
+ nonce = container.dataset.stylenonce;
|
|
39
|
+ }
|
12
|
40
|
var xhr = new XMLHttpRequest();
|
13
|
41
|
xhr.open('GET', api_url + "?action=new", true);
|
14
|
42
|
xhr.onreadystatechange = function () {
|
|
@@ -47,14 +75,14 @@ window.onload = function () {
|
47
|
75
|
var skey_input = document.createElement("span");
|
48
|
76
|
skey_input.innerHTML = "<input type='hidden' name='captcheck_session_code' value='" + data.session + "' />";
|
49
|
77
|
captcha.appendChild(skey_input);
|
50
|
|
-
|
|
78
|
+
|
51
|
79
|
var answer_buttons = document.querySelectorAll(".captcheck_answer_label[data-prefix=\"" + idp + "\"]");
|
52
|
80
|
for (var i = 0; i < answer_buttons.length; i++) {
|
53
|
81
|
answer_buttons[i].addEventListener("click", function (ev) {
|
54
|
82
|
chooseAnswer(ev.target.getAttribute("data-prefix"), ev.target.getAttribute("data-answer"));
|
55
|
83
|
ev.preventDefault();
|
56
|
84
|
});
|
57
|
|
- answer_buttons[i].addEventListener('keydown', function(ev) {
|
|
85
|
+ answer_buttons[i].addEventListener('keydown', function (ev) {
|
58
|
86
|
if (ev.key === "Enter" || ev.which === 13 || ev.keyCode === 13 || ev.key === ' ' || ev.which === 32 || ev.keyCode === 32) {
|
59
|
87
|
chooseAnswer(ev.target.getAttribute("data-prefix"), ev.target.getAttribute("data-answer"));
|
60
|
88
|
ev.preventDefault();
|
|
@@ -65,7 +93,7 @@ window.onload = function () {
|
65
|
93
|
switchMode(ev.target.getAttribute("data-prefix"));
|
66
|
94
|
ev.preventDefault();
|
67
|
95
|
});
|
68
|
|
- document.querySelector(".captcheck_alt_question_button[data-prefix=\"" + idp + "\"]").addEventListener('keydown', function(ev) {
|
|
96
|
+ document.querySelector(".captcheck_alt_question_button[data-prefix=\"" + idp + "\"]").addEventListener('keydown', function (ev) {
|
69
|
97
|
if (ev.key === "Enter" || ev.which === 13 || ev.keyCode === 13 || ev.key === ' ' || ev.which === 32 || ev.keyCode === 32) {
|
70
|
98
|
switchMode(ev.target.getAttribute("data-prefix"));
|
71
|
99
|
ev.preventDefault();
|
|
@@ -79,33 +107,13 @@ window.onload = function () {
|
79
|
107
|
};
|
80
|
108
|
xhr.send();
|
81
|
109
|
});
|
82
|
|
-}
|
83
|
110
|
|
84
|
|
-function chooseAnswer(idp, ans) {
|
85
|
|
- var box = document.getElementById("captcheck_" + idp + "_answer_" + ans);
|
86
|
|
- box.checked = true;
|
87
|
|
- return false;
|
88
|
|
-}
|
89
|
|
-
|
90
|
|
-function switchMode(idp) {
|
91
|
|
- var switch_label = document.getElementById("captcheck_" + idp + "_alt_question_button");
|
92
|
|
- var img_q = document.getElementById("captcheck_" + idp + "_question_image");
|
93
|
|
- var acc_q = document.getElementById("captcheck_" + idp + "_question_access");
|
94
|
|
- var img_a = document.getElementById("captcheck_" + idp + "_answer_images");
|
95
|
|
- var acc_a = document.getElementById("captcheck_" + idp + "_answer_access");
|
96
|
|
- if (switch_label.innerHTML == "> Text mode") {
|
97
|
|
- switch_label.innerHTML = "> Image mode";
|
98
|
|
- img_q.style.display = "none";
|
99
|
|
- acc_q.style.display = "initial";
|
100
|
|
- img_a.style.display = "none";
|
101
|
|
- acc_a.style.display = "initial";
|
102
|
|
- acc_a.innerHTML = "<input type='text' name='captcheck_selected_answer' aria-label='Type your answer here.' autocomplete='off' autofill='off'/>";
|
103
|
|
- } else {
|
104
|
|
- switch_label.innerHTML = "> Text mode";
|
105
|
|
- img_q.style.display = "initial";
|
106
|
|
- acc_q.style.display = "none";
|
107
|
|
- img_a.style.display = "initial";
|
108
|
|
- acc_a.style.display = "none";
|
109
|
|
- acc_a.innerHTML = "";
|
|
111
|
+ /* Add custom styles */
|
|
112
|
+ var styles = document.createElement('style');
|
|
113
|
+ if (nonce != "") {
|
|
114
|
+ styles.setAttribute("nonce", nonce);
|
110
|
115
|
}
|
|
116
|
+ /* Remove newlines/comments from captcheck.css and put it here */
|
|
117
|
+ styles.innerHTML = ".captcheck_box{font-family:Ubuntu,Arial,sans-serif;color:black;border:1px solid #e0e0e0;border-radius:3px;display:inline-block;padding:3px;margin:5px 2px 5px 1px;background-color:#f5f5f5;text-decoration:none}.captcheck_label_message,.captcheck_label_message b{color:black;font-family:Ubuntu,Roboto,Arial,sans-serif}.captcheck_answer_label{border:0}.captcheck_answer_label>input{visibility:hidden;position:absolute}.captcheck_answer_label>input+img{cursor:pointer;border:2px solid transparent;border-radius:3px;min-width:32px;width:18%;max-width:64px}.captcheck_answer_label>input:checked+img{cursor:pointer;border:2px solid #424242;border-radius:3px}.captcheck_error_message{color:red}.captcheck_question_image{display:initial}.captcheck_question_access{display:none}.captcheck_alt_question_button{float:right;font-size:80%;cursor:pointer;color:inherit;text-decoration:inherit;border:0}.captcheck_answer_images{display:initial}.captcheck_answer_access{display:none}";
|
|
118
|
+ document.body.appendChild(styles);
|
111
|
119
|
}
|