คอมปาส.คอม- 24/03/2565 07:28 น
ดูรูปถ่าย
ภาพประกอบ. การจำลองการลงคะแนนทางอิเล็กทรอนิกส์โดยใช้เทคโนโลยีที่ทำโดยหน่วยงานพัฒนาเทคโนโลยีและการประยุกต์ใช้ (BPPT)(Kompas.com/ซาบรินา แอสริล)
นักเขียน หรยันตี ปุสปา ส่าหรี
|
บรรณาธิการ ถึงวิกฤติ
จาการ์ตา, KOMPAS.com- รัฐมนตรีกระทรวงคมนาคมและสารสนเทศ จอห์นนี่ จี เพลท เสนอให้การเลือกตั้งปี 2567 ใช้ระบบลงคะแนนอิเล็กทรอนิกส์หรือการลงคะแนนทางอิเล็กทรอนิกส์.
ข้อเสนอนี้นำเสนอโดย Johnny ในการประชุม Election Digitalization วันอังคาร (22/3/2022)
ตามที่จอห์นนี่กล่าวว่าการนำเทคโนโลยีดิจิทัลมาใช้ในการเลือกตั้งปี 2567 มีประโยชน์ในการตระหนักถึงความมีประสิทธิภาพและประสิทธิผลในการแข่งขันทางการเมืองที่มีการแข่งขันสูงขึ้นถูกต้องตามกฎหมาย.
“ในขั้นตอนการลงคะแนนเสียง การตรวจสอบตัวตนของผู้มีสิทธิเลือกตั้ง การลงคะแนนเสียง การนับคะแนนเพื่อส่งและจัดทำตารางผลการเลือกตั้ง” จอห์นนี่กล่าวในแถลงการณ์ที่เป็นลายลักษณ์อักษรเมื่อวันพุธ (3/23/2565)
kominfo.go.idรัฐมนตรีว่าการกระทรวงการสื่อสารและสารสนเทศ Johnny G Plate ในงานแถลงข่าวเปิดตัวการประชุม DEWG G20 2022 ที่ Grand Hyatt Central Jakarta วันอังคาร (15/03/2022)
จอห์นนี่กล่าวว่ามีการใช้การลงคะแนนอิเล็กทรอนิกส์ใน 34 ประเทศทั่วโลกในรูปแบบและระดับต่างๆ
การนำไปปฏิบัติการลงคะแนนทางอิเล็กทรอนิกส์เขากล่าวว่าสิ่งนี้เกี่ยวข้องกับองค์กรจัดการการเลือกตั้งหรือคณะกรรมการจัดการการเลือกตั้งในระดับชาติหรือระดับย่อย เช่น การเลือกตั้งสมาชิกของสภานิติบัญญัติระดับภูมิภาค
อย่างไรก็ตาม เขาย้ำว่าสิ่งที่ต้องพิจารณาไม่ใช่แค่กระบวนการเลือกตั้งแบบดิจิทัลเท่านั้น
อย่างไรก็ตามความพร้อมของประชาชนในการรักษาระดับความไว้วางใจในแต่ละขั้นตอนของการเลือกตั้งรวมทั้งในการตรวจสอบและยืนยันข้อมูลอีกครั้ง
อ่านเพิ่มเติม:รมว.คมนาคมและสารสนเทศเสนอให้มีการเลือกตั้งปี 2567 ให้ใช้ระบบลงคะแนนอิเล็กทรอนิกส์
“นี่คือสิ่งที่เราต้องใส่ใจจริงๆ และแนวโน้มของการเปลี่ยนการเลือกตั้งเป็นดิจิทัลยังเห็นได้จากวิสัยทัศน์ที่หลากหลาย และการนำไปใช้ในขั้นตอนการลงคะแนนเสียงในหลายประเทศทั่วโลก” เขากล่าว
นอกจากนี้ Johnny ยังกล่าวอีกว่า อินเดียกำลังดำเนินการแปลงขั้นตอนการเลือกตั้งเป็นดิจิทัล ซึ่ง KPU ของอินเดียกำลังทำงานร่วมกับมหาวิทยาลัยแห่งหนึ่งที่ดำเนินการเทคโนโลยีบล็อกเชน
เขาสนับสนุนให้อินโดนีเซียจัดทำเกณฑ์มาตรฐาน ศึกษาการแลกเปลี่ยนข้อมูล ความรู้ และประสบการณ์กับอินเดียเกี่ยวกับการดำเนินการลงคะแนนเสียงอิเล็กทรอนิกส์
“ปัจจุบันอินเดียกำลังใช้มันอยู่! อินเดียใช้บล็อคเชนเพื่อสนับสนุนการลงคะแนนทางไกลในการเลือกตั้งทั่วไป (การส่งสัญญาณทางไกล) หวังว่าสิ่งนี้จะเกิดขึ้นได้ในการเลือกตั้งทั่วไปของอินเดียปี 2024 ที่กำลังจะมาถึง เช่นเดียวกับเรา” จอห์นนี่กล่าว
แล้วการเลือกตั้งปี 2567 จะใช้ระบบ e-voting เป็นไปได้ไหม?
สมาชิกของคณะกรรมการการเลือกตั้งทั่วไป (KPU) Hasyim Asyari กล่าวว่าพรรคของเขาไม่ได้พิจารณาว่าการเลือกตั้งปี 2024 จะดำเนินการด้วยระบบลงคะแนนอิเล็กทรอนิกส์
การเข้าถึงอินเทอร์เน็ตและความไว้วางใจของประชาชน
Kompas.com/ฟิตเทรีย ชูสนา ฟาริซาผู้บัญชาการ KPU Hasyim Asy'ari
Hasyim กล่าวว่าการดำเนินการตามการเลือกตั้งทั่วไปจะดำเนินการตามอัตภาพ โดยพิจารณาว่ายังมีหลายพื้นที่ในอินโดนีเซียที่ยังไม่ได้เชื่อมต่อกับอินเทอร์เน็ต
“หากการลงคะแนนอิเล็กทรอนิกส์หมายถึงการลงคะแนนเสียงทางออนไลน์โดยตรง นั่นก็ยังมีประมาณร้อยละ 40 ของเขตที่ไม่ได้เชื่อมต่อกับอินเทอร์เน็ต แต่ยังไม่มีไฟฟ้าใช้” Hasyim กล่าวในโครงการ GASPOL Kompas.com เมื่อวันอังคาร (3/22/2565)
Hasyim กล่าวว่ากลไกการลงคะแนนเสียงทางอิเล็กทรอนิกส์อาจแตกต่างกันไป เห็นได้จากการปฏิบัติในประเทศต่างๆ
อย่างไรก็ตาม ไม่ว่าจะใช้วิธีใดก็ตาม การลงคะแนนเสียงทางอิเล็กทรอนิกส์นั้นขึ้นอยู่กับระดับความไว้วางใจของสาธารณชนในประเทศนั้นๆ
นอกจากนี้ ความปลอดภัยของข้อมูลเสียงยังเป็นประเด็นที่มีการเน้นย้ำอย่างมาก
เขายกตัวอย่างว่าในที่สุดเยอรมนี ซึ่งเป็นประเทศที่มีเทคโนโลยีขั้นสูงและมีวุฒิภาวะทางประชาธิปไตยที่ดี กลับคืนสู่ระบบการเลือกตั้งแบบเดิมๆ ได้อย่างไร
“คำถามคือใครสามารถติดตามเซิร์ฟเวอร์ (ซึ่งมีข้อมูลการลงคะแนนเสียง) แม้ว่าการเลือกตั้งจะมีแง่มุมที่เป็นความลับก็ตาม หากข้อมูลดังกล่าวถูกตั้งคำถาม อย่าขยับหรือวิธีที่ดีที่สุด นั่นคือสิ่งที่กรรมการ MK ในเยอรมนีจะพิจารณายกเลิก (การลงคะแนนอิเล็กทรอนิกส์) และกลับไปใช้บัตรลงคะแนนแบบกระดาษด้วยตนเอง” เขากล่าว
อ่านเพิ่มเติม:KPU ไม่พิจารณาการลงคะแนนเสียงทางอิเล็กทรอนิกส์ในการเลือกตั้งปี 2024 เนื่องจากปัญหาการเข้าถึงอินเทอร์เน็ตและความน่าเชื่อถือของสาธารณะ
Hasyim กล่าวว่าชาวอินโดนีเซียไม่ได้ถูกจัดว่าเป็นสังคมที่ได้รับความไว้วางใจทางการเมืองสูง
เขายกตัวอย่างเมื่อชาวบ้านสงสัยว่า KPU ในการเลือกตั้งหัวหน้าภูมิภาคของ DKI (พิลกาดา) ปี 2017 เพียงเพราะแล็ปท็อปที่ใช้เป็นของขวัญจากรัฐบาลประจำจังหวัด DKI ซึ่งผู้ว่าราชการจังหวัด Basuki Tjahaja Purnama เข้าร่วมในการประกวด
“ดังนั้นสิ่งที่สำคัญที่สุดคือความไว้วางใจทางการเมืองในกระบวนการนี้” ฮัสยิมกล่าว
จากข้อมูลนี้ เขาพิจารณาว่าวิธีการลงคะแนนแบบธรรมดายังคงเป็นทางเลือกที่เหมาะสมที่สุดในเวลานี้
รับข้อมูลอัปเดตข่าวเด่นและข่าวด่วนทุกวันจาก Kompas.com เข้าร่วมกลุ่ม Telegram "Kompas.com News Update" วิธีคลิกลิงก์https://t.me/kompascomupdateแล้วเข้าร่วม คุณต้องติดตั้งแอปพลิเคชั่น Telegram บนโทรศัพท์มือถือของคุณก่อน
แท็ก
- รัฐมนตรีว่าการกระทรวงคมนาคมและสารสนเทศ
- การลงคะแนนทางอิเล็กทรอนิกส์
- การเลือกตั้งปี 2024 การลงคะแนนอิเล็กทรอนิกส์
- KPU ไม่พิจารณาการลงคะแนนเสียงทางอิเล็กทรอนิกส์ในการเลือกตั้งปี 2024 เนื่องจากปัญหาการเข้าถึงอินเทอร์เน็ตและความน่าเชื่อถือของสาธารณะ
- รมว.คมนาคมและสารสนเทศเสนอให้มีการเลือกตั้งปี 2567 ให้ใช้ระบบลงคะแนนอิเล็กทรอนิกส์
- กระทรวงมหาดไทยสนับสนุนประชาธิปไตยแบบ "E-voting" ในระดับหมู่บ้าน
- Sleman ใช้ระบบการลงคะแนนเสียงอิเล็กทรอนิกส์ในการดำเนินการ Pilkades
- การป้องกันฝูงชนในระหว่างการเลือกตั้งระดับภูมิภาคพร้อมกันปี 2020 Ganjar: ถึงเวลาใช้การลงคะแนนอิเล็กทรอนิกส์แล้ว
- การป้องกัน Covid-19 สมาชิกของ Commission II แนะนำให้ KPU ใช้ E-Voting ในช่วง Pilkada
- KPU: การลงคะแนนทางอิเล็กทรอนิกส์ในปี 2020 Pilkada นั้นยาก แต่เราเตรียมการสรุปผลทางอิเล็กทรอนิกส์
- รมว.มหาดไทยขอให้พิจารณาข้อเสนอ E-Voting การเลือกตั้งอีกครั้ง
วิดีโอแนะนำ
วิดีโอเพิ่มเติม
ทางเลือกสำหรับคุณ
`); var wSpecStop = createElementFromHTML(`
เนื้อหาที่ซ่อนอยู่
โหลดหน้าซ้ำเพื่ออัปเดตคำแนะนำ
`); reactionPopup.querySelector('.buttonShare').setAttribute('data-title', item.title); reactionPopup.querySelector('.buttonShare').setAttribute('data-url', item.url); reactionPopup.querySelector('.buttonShare').setAttribute('data-campaign', 'AIML_Widget_Desktop'); ให้ userFeedback = UserFeedback ใหม่ (resultObj.engine ['tracker_algsrc'], item.url + tracker_params, jxRecHelper, ดัชนี); reactionPopup.querySelector('.buttonBookmark').addEventListener('คลิก', function() { do_bookmark(item.url, ดัชนี, userFeedback); }); reactionPopup.querySelector('.buttonShare').addEventListener('คลิก', function() { userFeedback.event('share'); }); reactionPopup.querySelector('.buttonNotInterest').addEventListener('click', function() { if (getCookie('kmps_usrid')) { HideThisArt(this); userFeedback.event('not-interested'); } else { const parentAction = this.parentElement.parentElement.parentElement if (!!parentAction) { la indexElement = parentAction.getAttribute('data-index') if (indexElement != 'unknown') { localStorage.setItem('reaction_not_interest_temp', JSON.stringify ({ urlpage: items[indexElement].url })) } } window.location.href = "https://account.kompas.com/login/a29tcGFz/" + btoa(window.location.href); } }) ; /** * ทริกเกอร์การกระทำ "userFeedback" ที่ผู้ใช้ไม่สนใจรายการมาก่อน เมื่อไม่สนใจโดยไม่ต้องเข้าสู่ระบบ */ if (getCookie('kmps_usrid') && localStorage.getItem('reaction_not_interest_temp')) { const tempUrlNotInterest = JSON.parse(localStorage .getItem('reaction_not_interest_temp')) if (item.url == tempUrlNotInterest.urlpage) { userFeedback.event('ไม่สนใจ'); localStorage.removeItem('reaction_not_interest_temp'); } } wSpecStop.querySelector('.wSpec-stop-undo').addEventListener('คลิก', function() { showThisArt(this); userFeedback.event('un-not-interested'); }); recItem.appendChild(ปุ่มตัวเลือก); recItem.appendChild(reactionPopup); recItem.appendChild(wSpecStop); } var recItemWrapperA = createElement('a', null, null, null); recItemWrapperA.setAttribute('href', item.url + tracker_params); var titleDiv = createElement('h4', null, null, [cssClasses.title], item.title); var sourceDiv = null; if (item.hasOwnProperty('method')) { sourceDiv = createElement('div', null, null, [cssClasses.source], resultObj.engine['type'] + ' . ' + item.method.toUpperCase() ); } อื่น { var sourceDiv = createElement('div', null, null, [cssClasses.source], resultObj.engine['type']); } var textWrapper = createElement('div', null, null, [cssClasses.text_wrapper]); textWrapper.appendChild (หมวดหมู่Div); textWrapper.appendChild(titleDiv); textWrapper.appendChild (sourceDiv); recItemWrapper.appendChild(imgWrapper); recItemWrapper.appendChild(textWrapper); recItemWrapperA.appendChild(recItemWrapper); recItem.appendChild(recItemWrapperA); widgetWrapper.appendChild(recItem); // ขอตัวจัดการการคลิกสำหรับรายการนี้ // recItem.onclick = handleClick.bind(null, jxRecHelper, item.url + tracker_params, index); recItemWrapperA.onclick = handleClick.bind (null, jxRecHelper, item.url + tracker_params, ดัชนี); }); } var endDate = วันที่ใหม่(); เวลาในการโหลด var = (endDate.getTime() - startDate.getTime()); trackEventGa('คำแนะนำบทความ AIML', 'โหลดเนื้อหา', 'algsrc='+algsrc+',site=NEWS,device=desktop,loadtime=' + loadtime) la domain = window.location.hostname; if(domain=='www.kompas.com'){ var url=window.location.href.split("/"); โดเมน=url[2]+'/'+url[3] } ให้ user_subs_type = "Gues"; ให้ subs_type = ""; ให้ is_lgn = 0; ให้เครื่องยนต์ = algsrc; if(getCookie('kmps_usrid')){is_lgn=1}; ให้ time_load = เวลาโหลด; trackMixpanel (โดเมน, user_subs_type, subs_type, is_lgn, 'success', time_load, เครื่องยนต์); แก้ไข (); /*** * JXRECSDK หมายเหตุ 3 จาก 5 - * ส่งข้อมูลทั้งหมดเกี่ยวกับรายการไปยังผู้ช่วย rec * แต่ละรายการเป็นวัตถุ: ALL MANDATORY * div * id * pos */ jxRecHelper.items(widgetItemArr); /*** * JXRECSDK หมายเหตุ 4 จาก 5 - * เรียก ready() ของวัตถุตัวช่วยเมื่อมีการแนะนำ * ผลลัพธ์ถูกเติมลงในวิดเจ็ต * (ซึ่งจะลงทะเบียนเหตุการณ์ action=ready) */ if (resultObj.engine ['type'] == 'api-1') { jxRecHelper.ready(resultObj.options.algo + /// + resultObj.options.version); } อื่น { jxRecHelper.ready(resultObj.engine['type']); } } อื่น ๆ { jxRecHelper.error(204); console.error("ข้อผิดพลาด: ไม่มีรายการแนะนำ"); กลับ; } } catch (ผิดพลาด) { jxRecHelper.error(901); console.log(err.stack); ให้โดเมน = window.location.hostname; if(domain=='www.kompas.com'){ var url=window.location.href.split("/"); โดเมน=url[2]+'/'+url[3] } ให้ user_subs_type = "Gues"; ให้ subs_type = "" ให้ is_lgn = 0; ให้เครื่องยนต์ = algsrc; if(getCookie('kmps_usrid')){is_lgn=1}; ให้ endDate = วันที่ใหม่ (); ให้ time_load = (endDate.getTime() - startDate.getTime()); trackMixpanel (โดเมน, user_subs_type, subs_type, is_lgn, 'ล้มเหลว', time_load, เครื่องยนต์); } }); } const _jxRecSdkURL = 'https://scripts.jixie.media/jxrecsdk.1.0.min.js'; var startDate = วันที่ใหม่ (); class OneWidget { Constructor() { //นี่เป็นอันที่เราจะส่งต่อไปยังอ็อบเจ็กต์ตัวช่วย JX rec เมื่อ // เราสร้างอินสแตนซ์: //ในการใช้งานนี้ สิ่งเหล่านี้ส่วนใหญ่มาจากตัวเลือก obj // บนหน้าผู้เผยแพร่ this._options = { accountid: '9262bf2590d558736cac4fff7978fcb1', pageurl: 'https://nasional.kompas.com/read/2022/03/24/07280291/mungkinkah-pemilu-2024-terapkan-sistem-e-voting', widget_id : '1000183-6xWeiWZFIM', ประเภท: 'pages', คอนเทนเนอร์: 'rekomendasi-konten-pilihan-untukmu-aiml', คำหลัก: content_tags, หัวเรื่อง: title, customid: "1", จำนวน: 14, }; this._containerId = this._options.container; this._container = document.getElementById(this._containerId); this._engines = [{"url"https:\/\/recommendation.jixie.media\/v1\/recommendation""method""GET""pageurl"https:\/\/nasional .kompas.com\/read\/2022\/03\/24\/07280291\/mungkinkah-pemilu-2024-terapkan-system-e-voting","system": "jx", "type" "api: " API -1", "tracker_params": "?source=widgetML", "tracker_algsrc": "V", "count":14, "page_status": "อ่าน", "ยกเว้นรายการกลาง": "2022032407280291"}]; } kickOff() { startDate = วันที่ใหม่ (); const rand = Math.floor(Math.random() * 1,000); /*const randSystem = Math.floor(Math.random() * 3); this._engine = this._engines[randSystem] ถ้า (location.hostname.indexOf('lestari') != -1) { this._engine = this._engines[1] }*/ this._engine = this._engines[0 ]; this._options.system = this._engine['system'] trackEventGa('การแนะนำบทความ AIML', 'โหลดวิดเจ็ต', 'algsrc=' + this._engine['tracker_algsrc'] + ',site=NEWS,device=desktop ') ให้ promJXSDK = fetchJSFileP(_jxRecSdkURL); ให้ thisObj = นี่; // ก่อนอื่นเรารอให้โหลด JX REC SDK และเริ่มต้นให้ recHelperObj = null; ให้ recResults = null; PromJXSDK .then(function() { /*** * JXRECSDK หมายเหตุ 1 จาก 5 - อินสแตนซ์ของวัตถุ JX REC HELPER * เรียกสิ่งนี้หลังจากโหลด JX REC SDK แล้ว แต่ก่อนที่คุณจะเรียก REC * แบ็กเอนด์ของคุณ * * พารามิเตอร์: ตัวเลือกบังคับ object * options object อย่างน้อยที่สุดต้องมี * accountid: get from jixie * widgetid: get from jixie * container: DIV ID ของ div ปลายทางเพื่อเก็บวิดเจ็ต * (สำหรับวิดเจ็ต jixie นี่เป็นเพียงออบเจ็กต์ตัวเลือกที่ส่งมาจากเพจ) * * (ซึ่งจะลงทะเบียนเหตุการณ์ action=load ด้วย) */ recHelperObj = jxRecMgr.createJxRecHelper(thisObj._options); la basicInfo = thisObj._options; basicInfo.engine = thisObj._engine if (basicInfo.engine.type == ' api-1') { var options = { count: basicInfo['count'], adpositions: "", คีย์เวิร์ด: basicInfo['keywords'], title: basicInfo['title'], date_published: "2022-03-24 ", หมวดหมู่หน้า: "ข่าว", อัลโก: "ผสม" }; if(getCookie('kmps_usrid')){ var kg = { pagetype:basicInfo.engine.page_status, uid:getCookie('kmps_usrid'), ukid:getCookie( 'kmp_uid') } if(basicInfo.engine.page_status=='read'){ kg['excludeitemids'] = basicInfo.engine.excludeitemids; } ตัวเลือก['เพิ่มเติม'] = { กก.:กก. }; } ส่งคืน recHelperObj.getJxRecommendations (ตัวเลือก); } else { ส่งคืน fetchRecommendationsP(basicInfo, recHelperObj.getJxUserInfo()); } }) .then(function(resp) { if (thisObj._engine.type == 'api-3') { recResults = วัตถุใหม่ recResults.items = resp.docs.result; } else { recResults = resp; } recResults .engine = thisObj._engine; if (!resp || !recResults.items || recResults.items.length == 0) { /*** * JXRECSDK หมายเหตุ 2 จาก 5 - * เรียกใช้ฟังก์ชัน error() บน recHelper เมื่อเกิดข้อผิดพลาด * เกิดขึ้นในการดึงข้อมูลหรือไม่มีรายการที่แนะนำ * * (ซึ่งจะลงทะเบียนเหตุการณ์ action=error) */ recHelperObj.error(204); Throw "no recommended results"; } }) .then( function() { // ทุกอย่างพร้อมแล้ว (ผลลัพธ์คำแนะนำ css): document.getElementById("rekomendasi-konten-pilihan-untukmu-aiml").classList.remove("-loading"); document.querySelector('.wSpec -list').remove(); createDisplay(rand, thisObj._container, recResults, recHelperObj) .then(function() { toggleDropdown(); // observe lozad // lozad('.lozad', { // โหลด: function(el) { // el.src = el.dataset.src; // el.onload = function() { // el.classList.add('fade') // } // } // }) สังเกต() }) }) .catch(function(error) { console.log(`ไม่สามารถสร้างวิดเจ็ตคำแนะนำ ${error.stack} ${error.message}`); }); } } var Limit_gtm_ready = 1; ฟังก์ชั่น check_gtm_ready() { if ('ga' ในหน้าต่าง) { // สร้างอินสแตนซ์ใหม่ของวิดเจ็ตของเราตามตัวเลือก const newW = new OneWidget(); ใหม่W.kickOff(); } อื่น { const timeout_gtm_ready = setTimeout (check_gtm_ready, 500) Limit_gtm_ready += 1; ถ้า (limit_gtm_ready > 10) { clearTimeout(timeout_gtm_ready); const newW = ใหม่ OneWidget(); ใหม่W.kickOff(); } } } check_gtm_ready() document.querySelector('.wSpec-secret').addEventListener('click', function(e) { e.preventDefault(); ให้ wSl = document.querySelectorAll('.wSpec-source'); if (wSl.length > 0) { for (let i = 0; i < wSl.length; i++) { wSl[i].classList.toggle('show') } } }) ฟังก์ชัน trackEventGa(หมวดหมู่, การกระทำ, ป้ายกำกับ ) { if ("ga" ในหน้าต่าง) { ga(function() { tracker = ga.getAll()[0]; if (tracker) { tracker.send("event", category, action, label); console. log('track event ', category, action, label) } }) } } ฟังก์ชั่น trackMixpanel(domain, user_subs_type, subs_type, is_lgn, is_load, time_load, engine){ // if(domain.indexOf("katanetizen") != -1){ // console.log("sini", โดเมน, user_subs_type, subs_type, is_lgn, is_load, time_load, เครื่องยนต์); // mixpanel.track('AIML Widget Loaded', { // 'Page Type': 'Read', // 'Page Domain': โดเมน, // 'Page Subscription Type': subs_type, // 'Login Status': is_lgn, // 'สถานะการโหลด': is_load, // 'เวลาโหลด': time_load, // 'เครื่องยนต์': เครื่องยนต์, // 'ประเภทวิดเจ็ต': 'บทความ', // }); mixpanel.track('aiml_content_loaded', { 'ประเภทหน้า': '', 'โดเมนหน้า': 'Kompas.com', 'ประเภทผู้ใช้': user_subs_type, 'ประเภทการสมัครสมาชิกหน้า': subs_type, 'สถานะการเข้าสู่ระบบ': is_lgn , 'สถานะการโหลด': is_load, 'เวลาโหลด': time_load, 'เครื่องยนต์': เครื่องยนต์, 'ประเภทวิดเจ็ต': 'บทความ', }); console.log('แผงผสมแทร็ก', 'AIML Widget Loaded', 'อ่าน') ให้ kmp_nm = getCookie('kmp_nm'); ถ้า(kmp_nm){ แตกต่าง_id = mixpanel.get_distinct_id(); mixpanel.ระบุ(distinct_id); mixpanel.people.set({ '$name': atob(kmp_nm), 'ประเภทการสมัครสมาชิก': subs_type, }); console.log('track mix panel people', 'AIML Widget Loaded', 'Read') } // } } function formBody(obj) { ให้ formBody = []; สำหรับ (คุณสมบัติ var ใน obj) { ให้ encodedKey = encodeURIComponent (คุณสมบัติ); ให้ encodedValue = encodeURIComponent(obj[คุณสมบัติ]); formBody.push(encodedKey + "=" + encodedValue); } ส่งคืน formBody.join("&"); } ฟังก์ชั่น getCookie(ชื่อ) { var name = name + '='; คุกกี้ var = decodeURIComponent(document.cookie).split(';'); สำหรับ (var i = 0; i < cookies.length; i++) { var c = คุกกี้ [i]; ในขณะที่ (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } } ฟังก์ชั่น get_guid(url) { ให้ arrayUrl = url.split('/'); ให้ readPath = arrayUrl.indexOf('read'); ถ้า (arrayUrl [readPath + 1] == 'xml') { readPath += 1; } ให้ปี = arrayUrl[readPath + 1]; ให้เดือน = arrayUrl[readPath + 2]; ให้วันที่ = arrayUrl [readPath + 3]; ให้ id = arrayUrl[readPath + 4]; ให้ guid = `.xml.${year}.${month}.${date}.${id}`; คู่มือการส่งคืน; } ฟังก์ชั่นtoggleDropdown() { la tdd = document.querySelectorAll('[data-dropdown]') if (!!tdd) { tdd.forEach((el) => { el.addEventListener('click', function() { el.parentElement.classList.toggle('-active') ให้บันทึก = el.parentElement.getAttribute('data-saved') ให้ kmps_usrid = getCookie('kmps_usrid'); if (kmps_usrid && !saved && el.parentElement.classList .contains('-active')) { la url = el.parentElement.getAttribute('data-url'); ให้ guid = get_guid(url); check_bookmark( kmps_usrid, guid ).then(function(resp) { if ( resp.hasOwnProperty('total_data')) { if (resp.total_data > 0) { el.parentElement.querySelector('.buttonBookmark').classList.add('-active'); el.parentElement.querySelector('.buttonBookmark ').innerHTML = 'Hapus dari tersimpan'; el.parentElement.setAttribute('บันทึกข้อมูล', 'true'); } else { el.parentElement.setAttribute('บันทึกข้อมูล', 'false'); } } }) } }) document.addEventListener("คลิก", function(e) { // console.log(e.target) if (el.contains(e.target)) { // console.log(tdd) } อื่น ๆ { el.parentElement.classList.remove('-active') } }); }); } } ฟังก์ชั่น check_bookmark(kmps_usrid, guid) { ให้ url = `https://api.kompas.com/2021/reaction/bookmark/list?kmps_usrid=${kmps_usrid}&guid=${guid}`; ส่งคืนสัญญาใหม่ (ฟังก์ชัน (แก้ไข, ปฏิเสธ) { var xmlhttp = new XMLHttpRequest (); xmlhttp.onreadystatechange = function () { ถ้า (this.readyState == 4 && this.status == 200) { แก้ไข (JSON.parse ( this.responseText)) } }; xmlhttp.open("GET", url, true); xmlhttp.send(); }); } ฟังก์ชั่น do_bookmark(pageurl, pos, userFeedback) { const wSpecItem = document.querySelector(`.wSpec-item[data-index="${pos}"]`); const btnBookmark = wSpecItem.querySelector('.buttonBookmark'); const kmps_usrid = getCookie('kmps_usrid'); const guid = get_guid(pageurl); if (kmps_usrid) { if (btnBookmark.classList.contains('-active')) { set_unbookmark({ guid: guid, kmps_usrid: kmps_usrid, ประเภท: 'บทความ' }).then(function(resp) { btnBookmark.classList. ลบ('-ใช้งานอยู่'); btnBookmark.innerHTML = 'บทความ Simpan'; reactionToast('บทความ berhasil dihapus dari list yang disimpan'); userFeedback.event('ยกเลิกการบันทึก'); }).catch(function(resp) { // ข้อความ: "ไม่มีข้อมูล" if (resp.hasOwnProperty('message') && resp.message.includes('exist')) { btnBookmark.classList.remove( '-ใช้งานอยู่'); btnBookmark.innerHTML = 'บันทึกบทความ'; reactionToast('ลบบทความออกจากรายการที่บันทึกไว้เรียบร้อยแล้ว'); } }) } อื่น ๆ { const user_bookmark_url = "https://activity.kompas.com/saved?order=desc"; set_bookmark ({ guid: guid, kmps_usrid: kmps_usrid, ประเภท: 'บทความ', ผู้จัดพิมพ์: 'kompas', แพลตฟอร์ม: 'desktop' }). จากนั้น (ฟังก์ชั่น (resp) { btnBookmark.classList.add ('-active'); btnBookmark.innerHTML = 'Hapus dari tersimpan'; reactionToast('Artikel berhasil disimpan', user_bookmark_url); userFeedback.event('บันทึก'); }).catch(function(resp) { // ข้อความ: "ข้อมูลมีอยู่แล้ว" if (resp.hasOwnProperty('message') && resp.message.includes('exist')) { btnBookmark.classList.add('- ใช้งานอยู่'); btnBookmark.innerHTML = 'Hapus dari tersimpan'; reactionToast('Artikel berhasil disimpan', user_bookmark_url); } }) } } อื่น ๆ { const login_url = "https://account.kompas.com/login/a29tcGFz/" + btoa(window.location.href); window.location.href = เข้าสู่ระบบ_url; } } ฟังก์ชั่น set_bookmark (ข้อมูล) { const url = "https://api.kompas.com/2021/reaction/bookmark/add"; ส่งคืนสัญญาใหม่ (ฟังก์ชัน (แก้ไข, ปฏิเสธ) { const xmlhttp = new XMLHttpRequest (); xmlhttp.onreadystatechange = function () { ถ้า (this.readyState == 4 && this.status == 201) { แก้ไข (JSON.parse ( this.responseText)); } else if (this.readyState == 4 && this.status == 400) { ปฏิเสธ (JSON.parse(this.responseText)); } }; xmlhttp.open("POST", url, true); xmlhttp.setRequestHeader("ประเภทเนื้อหา", "application/x-www-form-urlencoded;charset=UTF-8"); xmlhttp.send(formBody(data)); }); } ฟังก์ชั่น set_unbookmark (ข้อมูล) { const url = "https://api.kompas.com/2021/reaction/bookmark/delete"; คืนสัญญาใหม่ (ฟังก์ชัน (แก้ไข, ปฏิเสธ) { const xmlhttp = new XMLHttpRequest (); xmlhttp.onreadystatechange = function () { ถ้า (this.readyState == 4 && this.status == 200) { แก้ไข (JSON.parse ( this.responseText)); } else if (this.readyState == 4 && this.status == 400) { ปฏิเสธ (JSON.parse(this.responseText)); } }; xmlhttp.open("POST", url, true); xmlhttp.setRequestHeader("ประเภทเนื้อหา", "application/x-www-form-urlencoded;charset=UTF-8"); xmlhttp.send(formBody(data)); }); } คลาส UserFeedback { ตัวสร้าง (เครื่องยนต์, pageurl, jxRecHelper, pos) { this.engine = engine; this.pageurl = pageurl; this.jxRecHelper = jxRecHelper; นี่.pos = pos; } เหตุการณ์ (ข้อเสนอแนะ) { ถ้า (this.engine == 'C') { const xmlhttp = new XMLHttpRequest(); ให้ params = { โดเมน: 'kompas.com', ce_userid: getCookie('kmps_usrid'), ce_sessionid: getCookie('ukid'), ce_pageurl: this.pageurl, เครื่องยนต์: 'C', ce_feedback: ข้อเสนอแนะ } xmlhttp.open( "GET", 'https://apis.kgdata.dev/v1/aiml/feedback-widgetml' + formatParams(params)); xmlhttp.send(); } อื่น ๆ ถ้า (this.engine == 'V') { ถ้า (ข้อเสนอแนะ == 'แบ่งปัน') { this.jxRecHelper.shared (this.pos); } อื่น ๆ ถ้า (ข้อเสนอแนะ == 'บันทึก') { this.jxRecHelper.bookmarked (this.pos); } อื่น ๆ ถ้า (ข้อเสนอแนะ == 'ไม่สนใจ') { this.jxRecHelper.hidden(this.pos); } else if (ข้อเสนอแนะ == 'ไม่สนใจ') { this.jxRecHelper.unhidden(this.pos); } } } } ฟังก์ชัน formatParams(params) { return "?" + วัตถุ .keys(params) .map(function(key) { return key + "=" + encodeURIComponent(params[key]) }) .join("&") }
- เกมเกมคำศัพท์ภาษาชาวอินโดนีเซีย
- TTS - Puzzle Santuy Eps 117 อาหารจากถั่ว
- TTS - ปริศนา Santuy ตอนที่ 116 ชื่ออาหารจาก Serialia
- TTS - Guess - Teki Santuy Eps 115 ประเภทของโรคกลัว