PageSourceSearch

https://badak178.blog/sdk/widget-chat/chat-widget.js

js badak178.blog collected 2026-10-09 23:08:28 UTC 3,768 bytes, 85 lines download raw bytes

1var _____WB$wombat$assign$function_____=function(name){return (globalThis._wb_wombat && globalThis._wb_wombat.local_init && globalThis._wb_wombat.local_init(name))||globalThis[name];};if(!globalThis.__WB_pmw){globalThis.__WB_pmw=function(obj){this.__WB_source=obj;return this;}}{
2let window = _____WB$wombat$assign$function_____("window");
3let self = _____WB$wombat$assign$function_____("self");
4let document = _____WB$wombat$assign$function_____("document");
5let location = _____WB$wombat$assign$function_____("location");
6let top = _____WB$wombat$assign$function_____("top");
7let parent = _____WB$wombat$assign$function_____("parent");
8let frames = _____WB$wombat$assign$function_____("frames");
9let opener = _____WB$wombat$assign$function_____("opener");
10;(function () {
11  document.addEventListener('DOMContentLoaded', function () {
12    const scriptTag = document.querySelector(
13      // 'script[src*="ralali.id/sdk/widget-chat/chat-widget.js"]',
14      'script[src*="chat-widget.js"]',
15    )
16
17    const dynamicData = {
18      iconUrl:
19        scriptTag.getAttribute('data-icon-url') ||
20        '64b4ed8031e2d786aa52548c/64d20e147c3ee07f7f1da7b9_logo-ralali-nobg.svg',
21      name: scriptTag.getAttribute('data-name') || 'Hello Ralali',
22      message:
23        scriptTag.getAttribute('data-message') ||
24        'Silakan hubungi kami apabila Anda memerlukan bantuan.',
25      phoneNumber:
26        scriptTag.getAttribute('data-phone-number') || '62818500465',
27      chatText:
28        scriptTag.getAttribute('data-chat-text') ||
29        'Chat Whatsapp Kami',
30      whatsappIconUrl:
31        '64b4ed8031e2d786aa52548c/666955a00fa1a5c0b76b9aa6_small-whatsapp.svg',
32      whatsappButtonIconUrl:
33        '64b4ed8031e2d786aa52548c/666955a00fa1a5c0b76b9a05_whatsapp.svg',
34    }
35    var chatWidget = document.createElement('div')
36
37    chatWidget.innerHTML = `
38    <div class="wa-button">
39      <div class="whatsapp-chat hidden">
40        <div class="top-section">
41          <img width="60" height="auto" alt="" src="${dynamicData.iconUrl}" loading="lazy" class="live-icon-chat">
42          <div class="top-text-container">
43            <div class="live-chat-top-text"><strong>${dynamicData.name}</strong></div>
44          </div>
45        </div>
46        <div class="chat-section">
47          <div class="chat-block hide-animation">
48            <div class="live-chat-top-text block">${dynamicData.name}</div>
49            <div class="live-chat-bottom-text block">${dynamicData.message}</div>
50          </div>
51        </div>
52        <a href="https://wa.me/${dynamicData.phoneNumber}" target="_blank" class="live-chat-link w-inline-block">
53          <div class="livechat-button">
54            <img loading="lazy" src="${dynamicData.whatsappIconUrl}" alt="" class="small-whatsapp-icon">
55            <div class="live-chat-text">${dynamicData.chatText}</div>
56          </div>
57        </a>
58      </div>
59      <div id="whatsapp-button" data-w-id="c5412064-8a8b-d404-d327-b08444eb108b" class="whatsapp-container">
60        <img loading="lazy" src="${dynamicData.whatsappButtonIconUrl}" alt="" class="whatsapp-icon">
61      </div>
62    </div>
63  `
64
65    document.body.appendChild(chatWidget)
66
67    var waButton = chatWidget.querySelector('#whatsapp-button')
68    var chatBlock = chatWidget.querySelector('.chat-block')
69    var whatsappChat = chatWidget.querySelector('.whatsapp-chat')
70
71    waButton.addEventListener('click', function () {
72      if (whatsappChat.className.includes('hidden')) {
73        whatsappChat.className = 'whatsapp-chat show'
74        setTimeout(() => {
75          chatBlock.className = 'chat-block show-animation'
76        }, 100)
77      } else {
78        whatsappChat.className = 'whatsapp-chat hidden'
79        chatBlock.className = 'chat-block hide-animation'
80      }
81    })
82  })
83})()
84
85}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.