ВАЖНО: Хорошо работает на локальном хосте, но не на живом сервере. (Godadddy)

Выпуск:

Плагин WordPress выдает ошибку при нажатии кнопки «Предварительный просмотр», которая не выдает такую ​​же ошибку на локальном хосте.

Ошибка:

Uncaught DOMException: не удалось выполнить toDataURL для HTMLCanvasElement: испорченные полотна не могут быть экспортированы.

Строка ошибки:

var data = canvasObj.toDataURL() 

Инициализация canvasObj :

 canvasObj= new fabric.Canvas('wtd_background_image'); 

Установка изображения в canvasObj:

  function wtd_load_bg_image( img_url ) { if( img_url ) { var bg_img = new Image(); bg_img.setAttribute('crossOrigin', ''); bg_img.onload = function() { canvasObj.setBackgroundImage(bg_img.src, canvasObj.renderAll.bind(canvasObj), { originX: 'left', originY: 'top', left: 0, top: 0 }); }; bg_img.src = img_url; } } 

Решения, которые я нашел в Интернете, которые не работают:

Изменение файла htaccess (не работает!)

 {amp}lt;IfModule mod_setenvif.c{amp}gt; {amp}lt;IfModule mod_headers.c{amp}gt; {amp}lt;FilesMatch ".(cur|gif|ico|jpe?g|png|svgz?|webp)$"{amp}gt; SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=IS_CORS {amp}lt;/FilesMatch{amp}gt; {amp}lt;/IfModule{amp}gt; {amp}lt;/IfModule{amp}gt; 

Добавление заголовка PHP (не сработало!)

добавив Access-Control-Allow-Origin: * вверху страницы плагина, как показано ниже:

 {amp}lt;?php require_once('../../../../wp-load.php'); //header('HTTP/1.1 200 OK'); header('Access-Control-Allow-Origin: *'); get_header(); 

Добавление атрибута перекрестного происхождения к изображению (не работает)

Я добавил ниже код для изображения, как вы можете видеть выше

 bg_img.setAttribute('crossOrigin', ''); 

Изменить версию Fabric.js (работает частично)

При изменении версии Fabric.js с 1.2.0 на другую версию эта ошибка исчезает, но появляются новые. Так что я не предпочитаю.

Обновитесь до 1.7.9 и решите другие проблемы.