API обнаружения формы: «DOMException: источник портит происхождение»

1

Я играю с API обнаружения формы (https://github.com/WICG/shape-detection-api), основываясь на следующих примерах: https://wicg.github.io/shape-detection-api/#examples

Я пытаюсь заставить простейший работать:

let faceDetector = new FaceDetector({fastMode: true, maxDetectedFaces: 1});
// Assuming |theImage| is e.g. a <img> content, or a Blob.

faceDetector.detect(theImage)
.then(detectedFaces => {
  for (const face of detectedFaces) {
    console.log(' Face @ (${face.boundingBox.x}, ${face.boundingBox.y}),' +
    ' size ${face.boundingBox.width}x${face.boundingBox.height}');
  }
}).catch(() => {
  console.error("Face Detection failed, boo.");
})

Однако, я получаю ошибку:

VM153:1 Uncaught (in promise) DOMException: Source would taint origin.

Переменная изображения, используемая мной, является одним из изображений из stackoverflow:

<img src="https://www.gravatar.com/avatar/619aaf27f793d8ffdbc879c74884c0cc?s=32&amp;d=identicon&amp;r=PG" alt="" width="32" height="32" id="testimg">

Мой браузер - Google Chrome Canary 61.0.3128.0 с включенными экспериментальными веб-функциями.

Я что-то пропустил?

Теги:

2 ответа

1

Ответ здесь: https://wicg.github.io/shape-detection-api/#image-sources-for-detection

"Если какой-либо файл ImageBitmapSource имеет эффективное начало сценария (стандартное исходное значение HTML), которое не совпадает с исходным сценарием подлинного документа, а затем отклоняет обещание с новым DOMException, чье имя является SecurityError".

Не пропустите обернуть код, если вы используете загрузку изображения с помощью тега HTML.

window.onload = () => {
    // TODO: put you code here 
};

или через конструктор изображений

let image = new Image();
image.src = 'faces.jpg'
image.onload = () => {
    // TODO: put your code here
}

Пример кода

  • 0
    «Не пропустите перенос кода, если вы используете загрузку изображения через HTML-тег», что это значит?
1

Я думаю, проблема в том, что исходное изображение источника изображения должно совпадать с местом, где вы собираетесь выполнить скрипт

Ещё вопросы

Сообщество Overcoder
Наверх
Меню