Использование встроенных веб-рабочих может позволить запускать безопасные функции. Что-то вроде этого позволяет пользователю вводить javascript, запускать его и получать результат без доступа к вашему глобальному контексту.
globalVariable = "I'm global";
document.getElementById('submit').onclick = function() {
createWorker();
}
function createWorker() {
// The text in the textarea is the function you want to run
var fnText = document.getElementById('fnText').value;
// You wrap the function to add a postMessage
// with the function result
var workerTemplate = "\
function userDefined(){" + fnText +
"}\
postMessage(userDefined());\
onmessage = function(e){console.log(e);\
}"
// web workers are normally js files, but using blobs
// you can create them with strings.
var blob = new Blob([workerTemplate], {
type: "text/javascript"
});
var wk = new Worker(window.URL.createObjectURL(blob));
wk.onmessage = function(e) {
// you listen for the return.
console.log('Function result:', e.data);
}
}
Enter a javascript function and click submit
Вы можете попробовать их, например, вставив их в текстовое поле:
return "I'm a safe function";
Вы можете видеть, что это безопасно:
return globalVariable;
У вас даже могут быть более сложные скрипты, например:
var a = 4, b = 5;
function insideFn(){
// here c is global, but only in the worker context
c = a + b;
}
insideFn();
return c;
См. Информацию о веб-мастерах здесь, особенно встроенных веб-работников: https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers#Embedded_workers
Мы попытались найти это свойство для AVCaptureDevice. Однако, не в состоянии найти то же самое.
blockquote>Решение:
Свойство
[1110 ] Чтобы использовать это, например:SupportedColorSpaces
действительно существует вAVCaptureDevice.ActiveFormat
, убедитесь, что вы получите правильный экземплярAVCaptureDevice
:
var videoDevs = AVCaptureDevice.DevicesWithMediaType(AVMediaType.Video); var device = videoDevs[0]; NSNumber[] arr = device.ActiveFormat.SupportedColorSpaces;
Документ здесь:
AVFoundation.AVCaptureDevice [ 1113]