Крюк для холста toDataURL

1

[ EDIT ] Я должен был быть более конкретным (спасибо за ответ ниже радара!). Я бы хотел, чтобы триггер console.log захватил возвращаемый URI, когда объект вызывает toDataURL. В связанном jsfiddle объект, вызывающий toDataURL является canvas. Это может быть точкой привязки, потому что мне может понадобиться также захватить вызывающий объект? Я мог бы выполнить то, что мне нужно, просто инкапсулируя canvas.toDataURL() в оператор console.log, но я бы хотел, чтобы это было более динамичным, чем это, что заставило меня подумать о добавлении крюка в toDataURL

jsFiddle, обновление: https://jsfiddle.net/spe4q1d8/170/


Я пытаюсь создать крючок, который я мог бы разместить в верхней или нижней части файла JavaScript, который запускает console.log каждый раз, когда вызывается определенная функция. Конкретной функцией, которую я хочу подключить, является toDataURL() HTMLCanvasElement.toDataURL().

Я смог установить крючок на что-то вроде alert или console.log, но не могу понять, как подключить toDataURL.

jsFiddle, перехватить alert и зацепить document.createElement()

Рекомендации

  • 0
    хорошо, смотрите мой отредактированный ответ. (кстати, вы должны были прокомментировать мой ответ, потому что я не получил предупреждение, когда вы редактировали свой вопрос;)
  • 1
    :) закончил тестирование ==> jsfiddle.net/81kgbmnx/30
Теги:
canvas
hook
todataurl

1 ответ

1
Лучший ответ

вы можете расширить прототипированную функцию, например:

var toDataURL = HTMLCanvasElement.prototype.toDataURL;
HTMLCanvasElement.prototype.toDataURL = function(type, encoderOptions) {
  var uri = toDataURL.call(this, type, encoderOptions);
  console.log(uri);
  return uri;
}

var canvas = document.createElement('canvas');
canvas.toDataURL()

Ещё вопросы

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