การปฏิบัติตาม CCPA
<สไตล์>
#form-ccpa-แก้ไข-คำขอบัญชี
#form-ccpa-data-บัญชีคำขอ
#form-ccpa-ข้อมูลส่วนบุคคล-รายงานคำขอ
#form-ccpa-delete-account-request ,
#form-ccpa-do-not-sell-request {
จอแสดงผล: ไม่มี;
-
ปุ่ม #ccpa_page {
สีพื้นหลัง: โปร่งใส;
เส้นขอบ: 0;
ขอบล่าง: 1px สีดำทึบ;
ช่องว่างภายใน: 0px;
-
/* พื้นหลังโมดอล */
#data-พื้นหลังการตรวจสอบ {
จอแสดงผล: ไม่มี;
ตำแหน่ง: คงที่;
ดัชนี z: 1;
ช่องว่างด้านบน: คำนวณ (50vh - 83px);
ซ้าย: 0;
ด้านบน: 0;
ความกว้าง: 100%;
ความสูง: 100%;
ล้น: อัตโนมัติ;
สีพื้นหลัง: rgb (0,0,0);
สีพื้นหลัง: rgba (0,0,0,0.4);
ความทึบ: ไม่ได้ตั้งค่า;
ดัชนี z: 9999;
-
/* เนื้อหากิริยา */
#data-verification-modal {
สีพื้นหลัง: #fefefe;
ระยะขอบ: อัตโนมัติ;
ช่องว่างภายใน: 16px;
เส้นขอบ: 1px ทึบ #888;
ความกว้าง: 38%;
-
/* ปุ่มปิดโมดอล */
.data-การตรวจสอบ-ปิด {
สี: #aaaaaa;
ลอย: ขวา;
ขนาดตัวอักษร: 28px;
น้ำหนักตัวอักษร: ตัวหนา;
ความสูงของบรรทัด: 17px;
-
.data-verification-close:โฮเวอร์,
.data-verification-close: โฟกัส {
สี: #000;
การตกแต่งข้อความ: ไม่มี;
เคอร์เซอร์: ตัวชี้;
-
/* ข้อความในช่องทำเครื่องหมาย */
#data-verification-container p{
จอแสดงผล: อินไลน์บล็อก;
ช่องว่างภายในซ้าย: 5px;
แนวตั้ง: ด้านบน;
ความกว้าง: คำนวณ (100% - 45px);
เคอร์เซอร์: ตัวชี้;
-
#data-verification-container a, #data-verification-container a:hover{
การตกแต่งข้อความ: ขีดเส้นใต้!สำคัญ;
สี: #4285f4;
-
/* ไอคอนช่องทำเครื่องหมาย */
#ไอคอนการยืนยันข้อมูล {
เคอร์เซอร์: ตัวชี้;
ตำแหน่ง: ญาติ;
ระยะขอบ: อัตโนมัติ;
ความกว้าง: 18px;
ความสูง: 18px;
-webkit-tap-highlight-color: โปร่งใส;
แปลงร่าง: แปล3d (0, 0, 0);
ขอบบน: 2px;
-
#data-verification-icon: ก่อน {
เนื้อหา: "";
ตำแหน่ง: แน่นอน;
ด้านบน: -7px;
ซ้าย: -7px;
ความกว้าง: 32px;
ความสูง: 32px;
รัศมีชายแดน: 50%;
พื้นหลัง: RGBA(34,50,84,0.03);
ความทึบ: 0;
การเปลี่ยนแปลง: ความทึบ 0.2 วินาที;
-
#data-verification-icon svg {
ตำแหน่ง: ญาติ;
ดัชนี z: 1;
กรอก: ไม่มี;
จังหวะ-linecap: รอบ;
จังหวะ-linejoin: รอบ;
จังหวะ: #c8ccd4;
ความกว้างของเส้นขีด: 1.5;
แปลงร่าง: แปล3d (0, 0, 0);
การเปลี่ยนแปลง: ความสะดวกทั้งหมด 0.2 วินาที;
-
#data-verification-icon เส้นทาง svg {
จังหวะ-dashharray: 60;
จังหวะ dashoffset: 0;
-
#data-verification-icon svg polyline {
จังหวะ dashharray: 22;
จังหวะ dashoffset: 66;
-
#data-การตรวจสอบไอคอน:โฮเวอร์:ก่อน {
ความทึบ: 1;
-
#data-verification-container:hover #data-verification-icon svg {
จังหวะ: #4285f4;
-
#data-verification-icon.clicked svg {
จังหวะ: #4285f4;
-
#data-verification-icon. คลิกเส้นทาง svg {
จังหวะ dashoffset: 60;
การเปลี่ยนแปลง: เชิงเส้นทั้งหมด 0.3 วินาที;
-
#data-verification-icon.clicked svg polyline {
จังหวะ dashoffset: 42;
การเปลี่ยนแปลง: เชิงเส้นทั้งหมด 0.2 วินาที;
การเปลี่ยนแปลงล่าช้า: 0.15s;
-
/* การเปลี่ยนแปลง Modal ในความละเอียดมือถือ*/
@media เท่านั้น หน้าจอ และ (ความกว้างสูงสุด: 600px) {
#data-verification-modal {
ความกว้าง: 90%;
-
-
/* กำลังโหลดองค์ประกอบ */
. กำลังโหลด {
จอแสดงผล: ไม่มี;
ด้านบน:50vh;
ซ้าย:50vw;
ตำแหน่ง:คงที่;
-
.loading:not(:required):หลังจาก {
เนื้อหา: '';
จอแสดงผล: บล็อก;
ขนาดตัวอักษร: 10px;
ความกว้าง: 1em;
ความสูง: 1em;
ขอบด้านบน: -0.5em;
-webkit-animation: สปินเนอร์ 1500ms เชิงเส้นไม่มีที่สิ้นสุด;
-moz-animation: สปินเนอร์ 1500ms เชิงเส้นไม่มีที่สิ้นสุด;
-ms-animation: สปินเนอร์ 1500ms เชิงเส้นไม่มีที่สิ้นสุด;
-o-นิเมชั่น: สปินเนอร์ 1500ms เชิงเส้นไม่มีที่สิ้นสุด;
แอนิเมชั่น: สปินเนอร์ 1500ms เชิงเส้นไม่มีที่สิ้นสุด;
รัศมีเส้นขอบ: 0.5em;
-webkit-box-shadow: rgba(255,255,255, 1) 1.5em 0 0 0, rgba(255,255,255, 1) 1.1em 1.1em 0 0, rgba(255,255,255, 1) 0 1.5em 0 0, rgba(255,255,255, 1) -1.1em 1.1em 0 0, RGBA(255,255,255, 1) -1.5em 0 0 0, RGBA(255,255,255, 1) -1.1em -1.1em 0 0, RGBA(255,255,255, 1) 0 -1.5em 0 0, RGBA (255,255,255, 1) 1.1em -1.1em 0 0;
กล่องเงา: rgba(255,255,255, 1) 1.5em 0 0 0, rgba(255,255,255, 1) 1.1em 1.1em 0 0, rgba(255,255,255, 1) 0 1.5em 0 0, rgba(255,255,255, 1) - 1.1ม 1.1em 0 0, RGBA(255,255,255, 1) -1.5em 0 0 0, RGBA(255,255,255, 1) -1.1em -1.1em 0 0, RGBA(255,255,255, 1) 0 -1.5em 0 0, RGBA(255,255,25 5, 1) 1.1em -1.1em 0 0;
-
/* แอนิเมชั่น */
@-webkit-keyframes สปินเนอร์ {
0% {
-webkit-transform: หมุน (0deg);
-moz-transform: หมุน (0deg);
-ms-transform: หมุน (0deg);
-o-transform: หมุน (0deg);
แปลงร่าง: หมุน (0deg);
-
100% {
-webkit-transform: หมุน (360deg);
-moz-transform: หมุน (360deg);
-ms-transform: หมุน (360deg);
-o-transform: หมุน (360deg);
แปลงร่าง: หมุน (360 องศา);
-
-
@-moz-keyframes สปินเนอร์ {
0% {
-webkit-transform: หมุน (0deg);
-moz-transform: หมุน (0deg);
-ms-transform: หมุน (0deg);
-o-transform: หมุน (0deg);
แปลงร่าง: หมุน (0deg);
-
100% {
-webkit-transform: หมุน (360deg);
-moz-transform: หมุน (360deg);
-ms-transform: หมุน (360deg);
-o-transform: หมุน (360deg);
แปลงร่าง: หมุน (360 องศา);
-
-
@-o-คีย์เฟรมสปินเนอร์ {
0% {
-webkit-transform: หมุน (0deg);
-moz-transform: หมุน (0deg);
-ms-transform: หมุน (0deg);
-o-transform: หมุน (0deg);
แปลงร่าง: หมุน (0deg);
-
100% {
-webkit-transform: หมุน (360deg);
-moz-transform: หมุน (360deg);
-ms-transform: หมุน (360deg);
-o-transform: หมุน (360deg);
แปลงร่าง: หมุน (360 องศา);
-
-
@keyframes สปินเนอร์ {
0% {
-webkit-transform: หมุน (0deg);
-moz-transform: หมุน (0deg);
-ms-transform: หมุน (0deg);
-o-transform: หมุน (0deg);
แปลงร่าง: หมุน (0deg);
-
100% {
-webkit-transform: หมุน (360deg);
-moz-transform: หมุน (360deg);
-ms-transform: หมุน (360deg);
-o-transform: หมุน (360deg);
แปลงร่าง: หมุน (360 องศา);
-
-
สไตล์>
<สคริปต์>
var ccpaSlideUpAll = ฟังก์ชั่น () {
$('#form-ccpa-edit-account-request').slideUp(100);
$('#form-ccpa-data-account-request').slideUp(100);
$('#form-ccpa-personal-data-report-request').slideUp(100);
$('#form-ccpa-delete-account-request').slideUp(100);
$('#form-ccpa-do-not-sell-request').slideUp(100);
$('#ccpa_page button').attr("aria-ขยาย", "false");
-
var อีเมล พิมพ์ยินยอม = false;
var VerificationModalContent = '
แอปที่ใช้เพื่อรับรองการปฏิบัติตาม GDPR/CCPA ของไซต์นี้ รวบรวม IP และที่อยู่อีเมลของคุณเพื่อประมวลผลข้อมูล หากต้องการข้อมูลเพิ่มเติม โปรดดู นโยบายความเป็นส่วนตัว
การแก้ไขข้อมูล
คุณสามารถใช้ลิงก์ด้านล่างเพื่ออัปเดตข้อมูลบัญชีของคุณได้หากไม่ถูกต้อง
<แบบฟอร์ม>
แบบฟอร์ม>
ความสามารถในการพกพาข้อมูล
คุณสามารถใช้ลิงก์ด้านล่างเพื่อดาวน์โหลดข้อมูลทั้งหมดที่เราจัดเก็บและใช้เพื่อประสบการณ์ที่ดีขึ้นในร้านของเรา
<แบบฟอร์ม>
แบบฟอร์ม>
การเข้าถึงข้อมูลส่วนบุคคล
คุณสามารถใช้ลิงก์ด้านล่างเพื่อขอรายงานซึ่งจะมีข้อมูลส่วนบุคคลทั้งหมดที่เราเก็บไว้สำหรับคุณ
<แบบฟอร์ม>
แบบฟอร์ม>
อย่าขายข้อมูลส่วนบุคคลของฉัน
คุณสามารถส่งคำขอเพื่อแจ้งให้เราทราบว่าคุณไม่ยินยอมให้ข้อมูลส่วนบุคคลของคุณถูกรวบรวมหรือขาย
<แบบฟอร์ม>
แบบฟอร์ม>
สิทธิ์ที่จะถูกลืม
ใช้ตัวเลือกนี้หากคุณต้องการลบข้อมูลส่วนบุคคลและข้อมูลอื่น ๆ ของคุณออกจากร้านค้าของเรา โปรดทราบว่ากระบวนการนี้จะลบบัญชีของคุณ ดังนั้นคุณจะไม่สามารถเข้าถึงหรือใช้งานได้อีกต่อไป
<แบบฟอร์ม>
แบบฟอร์ม>
×
< /div>';
var ccpaSendRequest = ฟังก์ชั่น (โทรกลับ) {
$.ajax({
URL: 'https://www.cloudflare.com/cdn-cgi/trace',
วิธีการ: 'รับ'
ความสำเร็จ: ฟังก์ชั่น (ตอบสนอง) {
ถ้า (!resp.error) {
ให้ ipInfo = resp;
ให้ ipRegex = /[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}/
ให้ ipAddress = ipInfo.match(ipRegex)[0];
$.ajax({
URL: 'https://gdpr.apps.isenselabs.com/gdprRequests/submitRequest',
วิธีการ: 'โพสต์'
ข้อมูล: {
ร้านค้า: Shopify.shop,
อีเมล์: อีเมล์,
ประเภท: ประเภท,
แหล่งที่มาของคำขอ: 2,
ที่อยู่ IP: ที่อยู่ IP,
ได้รับความยินยอม: ได้รับความยินยอม,
ภาษา: Shopify.locale ? Shopify.locale : '',
gtranslateLang: isenseGDPR.Cookies.get('googtrans') ? isenseGDPR.Cookies.get('googtrans') : ''
-
ความสำเร็จ: ฟังก์ชั่น (ตอบสนอง) {
ถ้า (!resp.error) {
ccpaSlideUpAll();
alert('คำขอของคุณถูกส่งเรียบร้อยแล้ว โปรดตรวจสอบอีเมลของคุณเพื่อดูข้อมูลเพิ่มเติม');
} อื่น {
การแจ้งเตือน (resp.message);
-
ถ้า (ประเภทของการโทรกลับ == 'ฟังก์ชั่น') {
โทรกลับ (ตอบกลับ);
-
-
-
} อื่น {
การแจ้งเตือน (resp.message);
-
-
-
-
$(เอกสาร).ready(function() {
ให้ searchParams = URLSearchParams ใหม่ (window.location.search);
ให้ param = searchParams.get('id');
ถ้า (พารามิเตอร์) {
document.getElementById(param).scrollIntoView();
-
//ผนวกกิริยาเข้ากับเนื้อหา เพราะไม่เช่นนั้นมันจะไม่อยู่ตรงกลาง (แม้ว่าตำแหน่งจะคงที่ก็ตาม)
$("body").ผนวก(verificationModalContent);
// เมื่อผู้ใช้คลิกที่ (x) ให้ปิดโมดอล
$('.data-verification-close:first').on('click', function(e) {
e.preventDefault();
closeVerificationModal();
-
$('#data-verification-icon, #data-verification-container p').on('click', function(e) {
e.preventDefault();
// ตรวจจับการคลิกของ href เนื่องจากมีการเขียนทับ
ถ้า($(e.target).is("a")) {
window.open(e.target.href, '_blank');
กลับ;
-
$('#data-verification-icon').addClass("คลิกแล้ว");
setTimeout(()=>{
$("#data-verification-modal").fadeOut();
$('#data-verification-พื้นหลัง .loading').css('display', 'inline-block');
ยินยอมให้ = จริง;
ccpaSendRequest (ฟังก์ชัน (ตอบกลับ) {
ยินยอมให้ = เท็จ;
closeVerificationModal();
-
}, 400);
-
-
ฟังก์ชั่น openVerificationModal(){
$("#data-verification-modal").css("display", "block")
$('#data-verification-พื้นหลัง').css("display", "block");
-
ฟังก์ชั่น closeVerificationModal(){
$('#data-verification-พื้นหลัง').fadeOut();
$('#data-verification-icon').removeClass("คลิกแล้ว");
$('#data-verification-พื้นหลัง .loading').css('display', 'none');
-
$('#btn-ccpa-edit-account-request').on('click', function(e) {
e.preventDefault();
ccpaSlideUpAll();
$('#form-ccpa-edit-account-request').slideDown(200);
$(this).attr("aria-ขยาย", "true");
-
$('#form-ccpa-edit-account-request form input[type=submit]').on('click', function(e) {
e.preventDefault();
email = $('#form-ccpa-edit-account-request form input[name=email]').val();
type = 'ลูกค้า/แก้ไข';
openVerificationModal();
-
$('#btn-ccpa-requests-request, #btn-ccpa-personal-information-request, #btn-ccpa-orders-request').on('คลิก', function(e) {
e.preventDefault();
ccpaSlideUpAll();
ประเภท = '';
สวิตช์($(นี้).attr('id')) {
กรณี 'btn-ccpa-requests-request':
type = 'ลูกค้า/คำขอ';
หยุดพัก;
กรณี 'btn-ccpa-คำขอข้อมูลส่วนบุคคล':
type = 'ลูกค้า/personal_info';
หยุดพัก;
กรณี 'btn-ccpa-orders-request':
type = 'ลูกค้า/คำสั่งซื้อ';
หยุดพัก;
-
$('#form-ccpa-data-account-request form input[name="request_type"]').val(type);
$('#form-ccpa-data-account-request').slideDown(200);
$(this).attr("aria-ขยาย", "true");
-
$('#form-ccpa-data-account-request form input[type=submit]').on('click', function(e) {
e.preventDefault();
email = $('#form-ccpa-data-account-request form input[name=email]').val();
type = $('#form-ccpa-data-account-request form input[name="request_type"]').val();
openVerificationModal();
-
$('#btn-ccpa-personal-data-report-request').on('คลิก', ฟังก์ชั่น(e) {
e.preventDefault();
ccpaSlideUpAll();
$('#form-ccpa-personal-data-report-request').slideDown(200);
$(this).attr("aria-ขยาย", "true");
-
$('#form-ccpa-personal-data-report-request form input[type=submit]').on('click', function(e) {
e.preventDefault();
email = $('#form-ccpa-personal-data-report-request form input[name=email]').val();
type = 'ลูกค้า/รายงาน';
openVerificationModal();
-
$('#btn-ccpa-do-not-sell-request').on('click', function(e) {
e.preventDefault();
ccpaSlideUpAll();
$('#form-ccpa-do-not-sell-request').slideDown(200);
$(this).attr("aria-ขยาย", "true");
-
$('#form-ccpa-do-not-sell-request form input[type=submit]').on('click', function(e) {
e.preventDefault();
email = $('#form-ccpa-do-not-sell-request form input[name=email]').val();
type = 'ลูกค้า/ห้ามขาย';
openVerificationModal();
-
$('#btn-ccpa-delete-account-request').on('คลิก', function(e) {
e.preventDefault();
ccpaSlideUpAll();
$('#form-ccpa-delete-account-request').slideDown(200);
$(this).attr("aria-ขยาย", "true");
-
$('#form-ccpa-delete-account-request form input[type=submit]').on('click', function(e) {
e.preventDefault();
email = $('#form-ccpa-delete-account-request form input[name=email]').val();
type = 'ลูกค้า/ลบ';
openVerificationModal();
-
สคริปต์>
ฉันให้ความยินยอมในการรวบรวมอีเมลและที่อยู่ IP ของฉันเพื่อวัตถุประสงค์ในการดำเนินการตามคำขอนี้ หากต้องการข้อมูลเพิ่มเติม โปรดดูนโยบายความเป็นส่วนตัว