single.html 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge, Chrome=1">
  7. <meta http-equiv="Cache-Control" content="no-cache">
  8. <title>ChoozMo 全球 YT 推廣服務 | 集仕多</title>
  9. <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
  10. integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
  11. <link rel="stylesheet" href="//use.fontawesome.com/releases/v5.11.2/css/all.css">
  12. <link rel="stylesheet" href="/css/style.css">
  13. <!-- Start of HubSpot Embed Code -->
  14. <!-- <script type="text/javascript" id="hs-script-loader" async defer src="//js-na1.hs-scripts.com/20485755.js"></script> -->
  15. <!-- End of HubSpot Embed Code -->
  16. <!-- Google Tag Manager -->
  17. <script>(function (w, d, s, l, i) {
  18. w[l] = w[l] || []; w[l].push({
  19. 'gtm.start':
  20. new Date().getTime(), event: 'gtm.js'
  21. }); var f = d.getElementsByTagName(s)[0],
  22. j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src =
  23. 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f);
  24. })(window, document, 'script', 'dataLayer', 'GTM-MTWWP3G');</script>
  25. <!-- End Google Tag Manager -->
  26. <!-- Google tag (gtag.js) -->
  27. <script async src="https://www.googletagmanager.com/gtag/js?id=G-G5H9MMGQFM"></script>
  28. <script>
  29. window.dataLayer = window.dataLayer || [];
  30. function gtag() { dataLayer.push(arguments); }
  31. gtag('js', new Date());
  32. gtag('config', 'G-G5H9MMGQFM');
  33. </script>
  34. <!-- Global site tag (gtag.js) - Google Ads: 474336061 -->
  35. <script async src="https://www.googletagmanager.com/gtag/js?id=AW-474336061"></script>
  36. <script>
  37. window.dataLayer = window.dataLayer || [];
  38. function gtag() { dataLayer.push(arguments); }
  39. gtag('js', new Date());
  40. gtag('config', 'AW-474336061');
  41. </script>
  42. </head>
  43. <body>
  44. {{ partial "navbar.html" . }}
  45. <main id="global-yt">
  46. <img src="/imgs/dm/ai-video/SaaS-08.webp" alt="" class="img-fluid bg-img">
  47. <div class="container my-5 py-5 position-relative">
  48. <form id="ytForm" class="row g-3 justify-content-center">
  49. <h1 class="text-center">
  50. Promote Your YouTube Videos for Free
  51. </h1>
  52. <div class="col-md-7 mb-3">
  53. <label for="youtubeLink" class="form-label">
  54. Target Youtube Video URL <span>(*) mandatory</span>
  55. <!-- YouTube 連結: -->
  56. </label>
  57. <input type="url" class="form-control" id="youtubeLink" placeholder="Paste your YouTube video link" required>
  58. </div>
  59. <div class="col-md-7 mb-3">
  60. <label for="email" class="form-label">
  61. Your Email for Receiving Reports <span>(*) mandatory</span>
  62. <!-- 電子郵件: -->
  63. </label>
  64. <input type="email" class="form-control" id="email" placeholder="Enter your email address" required>
  65. </div>
  66. <div class="col-md-7 mt-4">
  67. <button onclick="sendYTData()" id="submitYTData" type="submit" class="btn btn-primary w-100">Submit</button>
  68. </div>
  69. </form>
  70. <hr>
  71. <div class="content">
  72. {{ .Content }}
  73. </div>
  74. <!-- <div id="form">
  75. {{ partial "form-main.html" . }}
  76. </div> -->
  77. </div>
  78. </main>
  79. {{ partial "footer.html" . }}
  80. <script type="application/javascript">
  81. var doNotTrack = false;
  82. if (!doNotTrack) {
  83. (function (i, s, o, g, r, a, m) {
  84. i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {
  85. (i[r].q = i[r].q || []).push(arguments)
  86. }, i[r].l = 1 * new Date(); a = s.createElement(o),
  87. m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)
  88. })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');
  89. ga('create', 'UA-153100602-5', 'auto');
  90. ga('send', 'pageview');
  91. }
  92. </script>
  93. <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js"
  94. integrity="sha384-IQsoLXl5PILFhosVNubq5LC7Qb9DXgDA9i+tQ8Zj3iwWAwPtgFTxbJ8NT4GN1R8p"
  95. crossorigin="anonymous"></script>
  96. <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.min.js"
  97. integrity="sha384-cVKIPhGWiC2Al4u+LWgxfKTRIcfu0JTxR+EQDz/bgldoEyl4H0zUF0QKbrJ0EcQF"
  98. crossorigin="anonymous"></script>
  99. <script>
  100. function sendYTData() {
  101. event.preventDefault(); // 阻止表單自動送出
  102. const email = document.getElementById("email").value.trim();
  103. const ytLink = document.getElementById("youtubeLink").value.trim();
  104. const submitBtn = document.querySelector("#submitYTData");
  105. if (!email || !ytLink) {
  106. alert("請完整填寫電子郵件與 YouTube 連結");
  107. return;
  108. }
  109. // 顯示 Loading 狀態
  110. submitBtn.disabled = true;
  111. submitBtn.innerHTML = `<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span> Submit`;
  112. const data = {
  113. yt_link: ytLink,
  114. email: email
  115. };
  116. fetch("https://cmm.ai:10001/auth/add_yt_record", {
  117. method: "POST",
  118. headers: {
  119. "Content-Type": "application/json"
  120. },
  121. body: JSON.stringify(data)
  122. })
  123. .then(response => response.json())
  124. .then(result => {
  125. console.log("result", result);
  126. alert("Your information has been submitted!");
  127. // alert("您的資料已送出!");
  128. // 清空輸入框
  129. document.getElementById("email").value = "";
  130. document.getElementById("youtubeLink").value = "";
  131. })
  132. .catch(error => {
  133. console.error("error", error);
  134. alert("Submission failed, please try again later!");
  135. // alert("送出失敗,請稍後再試!");
  136. })
  137. .finally(() => {
  138. // 恢復按鈕狀態
  139. submitBtn.disabled = false;
  140. submitBtn.innerHTML = "Submit";
  141. });
  142. }
  143. </script>
  144. </body>
  145. </html>