SitesSDK.subscribe(messageType, callback)

ฟังก์ชันนี้เป็นลิสเทนนอร์ของข้อความสำหรับข้อความที่ส่งจากไซต์ของโฮสต์ การเรียกนี้เป็นแบบอะซิงโครนัส

พารามิเตอร์

ระบบจะเรียกการเรียกกลับที่รีจิสเตอร์ เมื่อ SDK ได้รับข้อความประเภทที่กำหนด ถ้าการเรียกกลับแสดงค่า ค่าดังกล่าวจะถูกส่งกลับไปที่เพจ ถ้าไม่มีการส่งการเรียกกลับไปยังฟังก์ชันนี้ ลิสเทนเนอร์ที่รีจิสเตอร์สำหรับข้อความประเภทนั้นจะถูกลบ

รายการเหล่านี้เป็นการเรียกกลับของ JavaScript ดังนั้น ฟังก์ชันควรใช้ JavaScript Closure หรือเชื่อมโยงฟังก์ชันให้เหมาะสมเพื่อให้แน่ใจว่ามีสิทธิ์เข้าใช้คอนเท็กซ์ที่ถูกต้อง

ชื่อ ประเภท คำอธิบาย

messageType

สตริง

ประเภทข้อความ:

  • SETTINGS_UPDATED

  • TRIGGER_ACTIONS

  • EXECUTE_ACTION

  • GET_ACTIONS

  • GET_TRIGGERS

  • COPY_CUSTOM_DATA

  • PASTE_CUSTOM_DATA

callback

ฟังก์ชัน

ฟังก์ชันเมื่อได้รับข้อความจากไซต์ของโฮสต์

ประเภทข้อความ

ประเภทข้อความ คำอธิบาย
SETTINGS_UPDATED สมัครรับข้อความนี้เพื่อรับแจ้ง เมื่อมีการเปลี่ยนแปลงค่าในแผงข้อมูลการตั้งค่า โดยปกติ องค์ประกอบนี้จะตอบกลับด้วยการอัปเดตการแสดงผลในอินเตอร์เฟซผู้ใช้
TRIGGER_ACTIONS การเผยแพร่ข้อความนี้จะเรียกทริกเกอร์และส่งเพย์โหลด
EXECUTE_ACTION สมัครรับข้อความนี้เพื่อรองรับการดำเนินการที่กำหนดเอง โดยปกติ ลิสเทนเนอร์จะจัดการกับข้อความนี้ด้วยการดำเนินการที่กำหนดไว้
GET_ACTIONS สมัครรับข้อความนี้เพื่อประกาศอาเรย์ของการดำเนินการที่องค์ประกอบสามารถรัน แสดงผลอาเรย์ของการดำเนินการ
GET_TRIGGERS สมัครรับข้อความนี้เพื่อประกาศอาเรย์ของทริกเกอร์ที่องค์ประกอบสามารถเรียกได้ แสดงผลอาเรย์ของทริกเกอร์
COPY_CUSTOM_DATA สมัครรับข้อความนี้เพื่อรองรับการคัดลอกข้อมูลการตั้งค่าที่กำหนดเองไปยังคลิปบอร์ด แสดงผลออบเจกต์ที่แทนข้อมูลที่จะวางบนคลิปบอร์ด
PASTE_CUSTOM_DATA สมัครรับข้อความนี้เพื่อรองรับการวางข้อมูลการตั้งค่าที่กำหนดเองจากคลิปบอร์ด

การใช้งาน

ลิสเทนเนอร์บางรายการต้องการให้มีการส่งข้อมูล แต่ลิสเทนเนอร์บางรายการจะส่งคืนข้อมูลเป็นผลลัพธ์

ตัวอย่าง 1:

รีจิสเตอร์ลิสเทนเนอร์ของข้อความสำหรับประเภทข้อความ EXECUTE_ACTION:

SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.EXECUTE_ACTION, self.executeAction,self);

ฟังก์ชัน callback ที่รีจิสเตอร์จะต้องยอมรับอาร์กิวเมนต์ดังที่แสดงในส่วนนี้

// typical signature of a callback function registered with a message
// type
function (args) {
                var payload = args.detail.message.payload,
                                        action = args.detail.message.action,
                                        actionName =  action && action.actionName;

                // do something here with the payload data

        }

ตัวอย่าง 2:

โดยปกติ ลิสเทนเนอร์ COPY_CUSTOM_DATA จะมีการใช้งานกับรหัสดังนี้

     // listen for COPY_CUSTOM_DATA request
     SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.COPY_CUSTOM_DATA, 

เมทธอด copyCustomDataListener() จะแสดงผลออบเจกต์ซึ่งแทนข้อมูลที่จะคัดลอกไปยังคลิปบอร์ด เช่น:

     // Handle Copy Style (save customSettingsData to the clipboard)
     self.copyCustomDataListener = function() {
         return {
             prop1: this.prop1(),
             prop2: this.prop2()
         };
     };

ตัวอย่าง 3:

คำขอ PASTE_CUSTOM_DATA จะยอมรับข้อมูล แต่ไม่จำเป็นต้องแสดงข้อมูลใดๆ:

// listen for PASTE_CUSTOM_DATA request
SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.PASTE_CUSTOM_DATA, pasteCustomDataListener);

พร้อมกับ:

// Handle Paste Style (apply customSettingsData from the clipboard)
self.pasteCustomDataListener = function(data) {
     ...
};