javascript - Hook Canvas 的 toDataURL

标签 javascript canvas hook todataurl

[编辑] 我应该更具体一些(感谢雷达下的回复!)。我希望 console.log 的触发器在对象调用 toDataURL 时捕获返回的 URI。在链接的jsfiddle中,调用toDataURL的对象是canvas。这可能是症结所在,因为我可能还需要捕获调用对象?我可以通过简单地将 canvas.toDataURL() 封装在 console.log 语句中来完成我想要的,但我希望它比那个更动态——这让我想到添加toDataURL

上的钩子(Hook)

jsFiddle,更新:https://jsfiddle.net/spe4q1d8/170/


我正在尝试创建一个 Hook ,我可以将其放在 JavaScript 文件的顶部或底部,每次调用特定函数时都会触发 console.log。我想要 Hook 的特定函数是 toDataURL() HTMLCanvasElement.toDataURL() .

我已经能够在 alertconsole.log 本身上设置一个 Hook ,但无法弄清楚如何 Hook toDataURL

jsFiddle, Hook alert 并 Hook document.createElement()

引用资料

最佳答案

例如,您可以扩展原型(prototype)函数:

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()

关于javascript - Hook Canvas 的 toDataURL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51482108/

相关文章:

javascript - Array.prototype.map(callback, thisArg),第二个参数被忽略

javascript - JS中逻辑运算符的问题

javascript - 在Javascript中计算二次曲线上任意点的切线斜率

python - tensorflow 中使用的钩子(Hook)是什么意思

javascript - Angular 4 : Can't bind to 'ngForFor' since it isn't a known property of 'li'

javascript - JS - 通过正则表达式搜索带引号和不带引号的字符串

javascript - HTML5 游戏开发 - 缩放 HTML + Canvas

mercurial - 有用的 Mercurial 钩子(Hook)

hook - 重定向到 liferay 登录页面

javascript - 如何从异步调用返回响应?