workerboxjs
Advanced tools
Comparing version 2.0.0 to 2.1.0
@@ -8,3 +8,3 @@ let workerBoxCount = 0; | ||
scriptUrl = scriptUrl + '/v2.0.0/'; | ||
scriptUrl = scriptUrl + '/v2.1.0/'; | ||
try { | ||
@@ -27,10 +27,10 @@ scriptUrl = new URL(scriptUrl); | ||
iframe.sandbox = 'allow-scripts allow-same-origin'; | ||
iframe.id=`workerBox${workerBoxCount}`; | ||
iframe.style = "position: fixed; height: 0; width: 0; opacity: 0; top: -100px;" | ||
iframe.src=scriptUrl.href; | ||
iframe.id = `workerBox${workerBoxCount}`; | ||
iframe.style = 'position: fixed; height: 0; width: 0; opacity: 0; top: -100px;'; | ||
iframe.src = scriptUrl.href; | ||
document.body.appendChild(iframe); | ||
const worker = document.getElementById(`workerBox${workerBoxCount}`).contentWindow; | ||
let promises = {}; | ||
const promises = {}; | ||
window.addEventListener('message', (event) => { | ||
@@ -42,3 +42,3 @@ if (event.data.ready) { | ||
const currentMessageNumber = messageNumber; | ||
worker.postMessage({ | ||
@@ -48,15 +48,20 @@ messageNumber: currentMessageNumber, | ||
}, '*'); | ||
return new Promise((resolve, reject) => { | ||
promises[currentMessageNumber] = { resolve, reject }; | ||
}) | ||
}) | ||
}); | ||
}); | ||
return; | ||
} | ||
const { messageNumber, result } = event.data; | ||
const { messageNumber, error, result } = event.data; | ||
if (error) { | ||
promises[messageNumber].reject(error); | ||
return; | ||
} | ||
promises[messageNumber].resolve(result); | ||
}); | ||
}) | ||
}); | ||
} | ||
export default createWorkerBox; |
{ | ||
"name": "workerboxjs", | ||
"version": "2.0.0", | ||
"version": "2.1.0", | ||
"type": "module", | ||
@@ -5,0 +5,0 @@ "description": "A secure sandbox to execute untrusted user JavaScript, in a web browser, without any risk to your own domain/site/page.", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
3668
53