🏠 Home 

Greasy Fork is available in English.

getVaptchaCode

vaptcha-iframe 依赖库

สคริปต์นี้ไม่ควรถูกติดตั้งโดยตรง มันเป็นคลังสำหรับสคริปต์อื่น ๆ เพื่อบรรจุด้วยคำสั่งเมทา // @require https://update.greasyfork.org/scripts/418420/878837/getVaptchaCode.js

  1. /**
  2. * getVaptchaCode v1.0
  3. * @author Jixun<https://jixun.moe/>
  4. * @license BSD-3-Clause
  5. */
  6. function getVaptchaCode(frameURL, container) {
  7. return new Promise((resolve) => {
  8. const {origin} = new URL(frameURL);
  9. const id = 'id' + Date.now() + Math.random();
  10. const frame = document.createElement('iframe');
  11. frame.style.transition = 'opacity 1s 1s';
  12. frame.style.opacity = 1;
  13. const eventHandler = (event) => {
  14. if (event.data.vaptcha === id) {
  15. resolve(event.data.token);
  16. window.removeEventListener('message', eventHandler);
  17. frame.style.opacity = 0;
  18. // Remove iframe after fadeout effects.
  19. setTimeout(() => {
  20. if (frame.parentNode) {
  21. frame.parentNode.removeChild(frame);
  22. }
  23. }, 1000);
  24. }
  25. };
  26. window.addEventListener('message', eventHandler);
  27. frame.src = frameURL;
  28. frame.onload = () => {
  29. frame.contentWindow.postMessage({ vaptcha: 'init', id }, origin);
  30. };
  31. container.appendChild(frame);
  32. });
  33. }