я видел этот ответ: Uncaught (в обещании) DOMException: не удалось выполнить 'texImage2D' в 'WebGL2RenderingContext': испорченные холсты не могут быть загружены. сделал сервер, но я пытаюсь создать расширение / надстройку, поэтому я запускаю сценарий на другом сервере, и если я попытаюсь установить атрибут crossOrigin на «анонимный», он говорит:
Доступ к изображению в ' https://dl5zpyw5k3jeb.cloudfront.net/photos/pets/48663430/1/?bust=1596323497&width=560 'from origin' https://www.petfinder.com 'заблокировано политикой CORS: в запрошенном ресурсе отсутствует заголовок' Access-Control-Allow-Origin '.
мой манифест:
{
"manifest_version" : 2,
"name" : "tf",
"description": "tf",
"version" : "0.2",
"content_scripts" : [
{
"matches" : [ "<all_urls>"],
"js" : ["tfjs.js", "coco-ssd.js", "content.js"]
}
]
}
мой код:
const img = document.getElementByTagName('img');
img.setAttribute('crossOrigin', 'anonymous');
cocoSsd.load().then(model => {
let canvas = document.createElement("CANVAS");
let ctx = canvas.getContext("2d");
canvas.width = img.width;
canvas.height = img.height;
ctx.drawImage(img, 0, 0);
model.detect(img).then(predictions => {
ctx.strokeRect(predictions[0].bbox[0], predictions[0].bbox[1], predictions[0].bbox[2], predictions[0].bbox[3]);
}
let dataURL = canvas.toDataURL();
img.src = dataURL;
});
}
});
Ты заранее