|
100 | 100 | if (typeof url === 'string' && host(url) !== window.location.host) {
|
101 | 101 | domains = domains || [];
|
102 | 102 | domains.push(origin(url));
|
103 |
| - const iframe = document.createElement('iframe'); |
| 103 | + var iframe = document.createElement('iframe'); |
104 | 104 | iframe.style.width = iframe.style.height = 0;
|
105 | 105 | iframe.style.position = 'absolute';
|
106 | 106 | iframe.style.top = iframe.style.left = '-9999px';
|
107 | 107 | iframe.style.border = 'none';
|
108 |
| - let proxy_url = url; |
| 108 | + var proxy_url = url; |
109 | 109 | if (!url.match(/\.html|\.php|\?/)) {
|
110 | 110 | proxy_url = url.replace(/\/$/, '') + '/proxy.html';
|
111 | 111 | }
|
|
117 | 117 | iframe.removeEventListener('error', handler);
|
118 | 118 | });
|
119 | 119 | iframe.addEventListener('load', function handler() {
|
120 |
| - let win; |
| 120 | + var win; |
121 | 121 | // fix for Safari
|
122 | 122 | // https://stackoverflow.com/q/42632188/387194
|
123 | 123 | try {
|
|
193 | 193 | });
|
194 | 194 | },
|
195 | 195 | list: function() {
|
196 |
| - const id = list_id++; |
197 |
| - const marker = { target: target_id, id: id }; |
198 |
| - const timer = delay(sysend.timeout); |
| 196 | + var id = list_id++; |
| 197 | + var marker = { target: target_id, id: id, origin: self.origin }; |
| 198 | + var timer = delay(sysend.timeout); |
199 | 199 | return new Promise(function(resolve) {
|
200 |
| - const ids = []; |
| 200 | + var ids = []; |
201 | 201 | sysend.on(make_internal('__window_ack__'), function(data) {
|
202 | 202 | log('__window_ack__', { data, marker });
|
203 | 203 | if (data.origin.target === target_id && data.origin.id === id) {
|
|
229 | 229 | }
|
230 | 230 | },
|
231 | 231 | rpc: function(object) {
|
232 |
| - const prefix = ++rpc_count; |
233 |
| - const req = `__${prefix}_rpc_request__`; |
234 |
| - const res = `__${prefix}_rpc_response__`; |
235 |
| - let request_index = 0; |
236 |
| - const timeout = 1000; |
| 232 | + var prefix = ++rpc_count; |
| 233 | + var req = `__${prefix}_rpc_request__`; |
| 234 | + var res = `__${prefix}_rpc_response__`; |
| 235 | + var request_index = 0; |
| 236 | + var timeout = 1000; |
237 | 237 | function request(id, method, args = []) {
|
238 |
| - const req_id = ++request_index; |
| 238 | + var req_id = ++request_index; |
239 | 239 | return new Promise((resolve, reject) => {
|
240 | 240 | sysend.track('message', function handler({data, origin}) {
|
241 | 241 | if (data.type === res) {
|
242 |
| - const { result, error, id: res_id } = data; |
| 242 | + var { result, error, id: res_id } = data; |
243 | 243 | if (origin === id && req_id === res_id) {
|
244 | 244 | if (error) {
|
245 | 245 | reject(error);
|
|
252 | 252 | }
|
253 | 253 | }, true);
|
254 | 254 | sysend.post(id, { method, id: req_id, type: req, args });
|
255 |
| - const timer = setTimeout(() => { |
| 255 | + var timer = setTimeout(() => { |
256 | 256 | reject(new Error('Timeout error'));
|
257 | 257 | }, timeout);
|
258 | 258 | });
|
259 | 259 | }
|
260 | 260 |
|
261 | 261 | sysend.track('message', async function handler({ data, origin }) {
|
262 | 262 | if (data.type == req) {
|
263 |
| - const { method, args, id } = data; |
264 |
| - const type = res; |
| 263 | + var { method, args, id } = data; |
| 264 | + var type = res; |
265 | 265 | if (Object.hasOwn(object, method)) {
|
266 | 266 | try {
|
267 | 267 | unpromise(object[method](...args), function(result) {
|
|
278 | 278 | }
|
279 | 279 | }
|
280 | 280 | }, true);
|
281 |
| - const error_msg = 'You need to specify the target window/tab'; |
| 281 | + var error_msg = 'You need to specify the target window/tab'; |
282 | 282 | return Object.fromEntries(Object.keys(object).map(name => {
|
283 | 283 | return [name, (id, ...args) => {
|
284 | 284 | if (!id) {
|
|
329 | 329 | // -------------------------------------------------------------------------
|
330 | 330 | function unpromise(obj, callback, error = null) {
|
331 | 331 | if (is_promise(obj)) {
|
332 |
| - const ret = obj.then(callback); |
| 332 | + var ret = obj.then(callback); |
333 | 333 | if (error === null) {
|
334 | 334 | return ret;
|
335 | 335 | } else {
|
|
644 | 644 | }
|
645 | 645 | // -------------------------------------------------------------------------
|
646 | 646 | function setup_update_tracking() {
|
647 |
| - let list = []; |
| 647 | + var list = []; |
648 | 648 |
|
649 | 649 | function update() {
|
650 | 650 | trigger(handlers.update, list);
|
|
0 commit comments