PageSourceSearch

https://keepsip.com/azure1.online/custom/86bos/livescore/index.js

js keepsip.com collected 2026-10-10 00:38:56 UTC 4,078 bytes, 151 lines download raw bytes

1(function () {
2  'use strict';
3
4  var FLOAT_ID = 'okebos-livescore-float';
5  var CLOSE_BTN_ID = 'okebos-livescore-float-close';
6  var STYLE_ID = 'okebos-livescore-float-styles';
7
8  var CONFIG = {
9    imageUrl: 'https://azure1.online/img/livescore-floating-bos.gif',
10    linkUrl: 'https://livescore-okebos.site/id',
11    linkTarget: '_blank',
12    linkRel: 'noopener noreferrer',
13    bottomDesktop: '100px',
14    bottomMobile: '80px',
15    left: '16px',
16    widthDesktop: '175px',
17    widthMobile: '140px'
18  };
19
20  function injectStyles() {
21    if (document.getElementById(STYLE_ID)) {
22      return;
23    }
24
25    var style = document.createElement('style');
26    style.id = STYLE_ID;
27    style.textContent = [
28      '#' + FLOAT_ID + ' {',
29      '  position: fixed;',
30      '  left: ' + CONFIG.left + ';',
31      '  bottom: ' + CONFIG.bottomDesktop + ';',
32      '  z-index: 2147483000;',
33      '  line-height: 0;',
34      '}',
35      '#' + FLOAT_ID + ' .livescore-float-inner {',
36      '  position: relative;',
37      '  display: inline-block;',
38      '  line-height: 0;',
39      '}',
40      '#' + FLOAT_ID + ' .livescore-float-link {',
41      '  display: block;',
42      '  line-height: 0;',
43      '  transition: transform 0.2s ease;',
44      '}',
45      '#' + FLOAT_ID + ' .livescore-float-link:hover {',
46      '  transform: scale(1.06);',
47      '}',
48      '#' + FLOAT_ID + ' img {',
49      '  width: ' + CONFIG.widthDesktop + ';',
50      '  height: auto;',
51      '  display: block;',
52      '  border: 0;',
53      '  pointer-events: none;',
54      '}',
55      '#' + CLOSE_BTN_ID + ' {',
56      '  position: absolute;',
57      '  top: 2px;',
58      '  left: 2px;',
59      '  width: 20px;',
60      '  height: 20px;',
61      '  border: 0;',
62      '  border-radius: 50%;',
63      '  background: rgba(0, 0, 0, 0.82);',
64      '  color: #fff;',
65      '  font-size: 14px;',
66      '  font-weight: 700;',
67      '  line-height: 20px;',
68      '  text-align: center;',
69      '  padding: 0;',
70      '  cursor: pointer;',
71      '  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.45);',
72      '  z-index: 2;',
73      '}',
74      '#' + CLOSE_BTN_ID + ':hover {',
75      '  background: #c53030;',
76      '}',
77      '@media (max-width: 767px) {',
78      '  #' + FLOAT_ID + ' {',
79      '    bottom: ' + CONFIG.bottomMobile + ';',
80      '  }',
81      '  #' + FLOAT_ID + ' img {',
82      '    width: ' + CONFIG.widthMobile + ';',
83      '  }',
84      '  #' + CLOSE_BTN_ID + ' {',
85      '    width: 18px;',
86      '    height: 18px;',
87      '    line-height: 18px;',
88      '    font-size: 12px;',
89      '    top: 1px;',
90      '    left: 1px;',
91      '  }',
92      '}'
93    ].join('\n');
94
95    document.head.appendChild(style);
96  }
97
98  function createFloatButton() {
99    var wrap = document.createElement('div');
100    wrap.id = FLOAT_ID;
101
102    var inner = document.createElement('div');
103    inner.className = 'livescore-float-inner';
104
105    var closeBtn = document.createElement('button');
106    closeBtn.id = CLOSE_BTN_ID;
107    closeBtn.type = 'button';
108    closeBtn.setAttribute('aria-label', 'Tutup LiveScore');
109    closeBtn.textContent = '\u00d7';
110    closeBtn.addEventListener('click', function (event) {
111      event.preventDefault();
112      event.stopPropagation();
113      wrap.remove();
114    });
115
116    var link = document.createElement('a');
117    link.className = 'livescore-float-link';
118    link.href = CONFIG.linkUrl;
119    link.target = CONFIG.linkTarget;
120    link.rel = CONFIG.linkRel;
121    link.title = 'LiveScore Bola';
122    link.setAttribute('aria-label', 'LiveScore Bola');
123
124    var image = document.createElement('img');
125    image.src = CONFIG.imageUrl;
126    image.alt = 'LiveScore Bola';
127    image.loading = 'lazy';
128
129    link.appendChild(image);
130    inner.appendChild(closeBtn);
131    inner.appendChild(link);
132    wrap.appendChild(inner);
133
134    return wrap;
135  }
136
137  function init() {
138    if (document.getElementById(FLOAT_ID)) {
139      return;
140    }
141
142    injectStyles();
143    document.body.appendChild(createFloatButton());
144  }
145
146  if (document.readyState === 'loading') {
147    document.addEventListener('DOMContentLoaded', init);
148  } else {
149    init();
150  }
151})();

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.