快好知 kuaihz

利用ES6里标准化的JavaScript proxy对象拦截...

SAP Cloud for Customer的UI实现里,有不少使用JavaScript在运行时动态创建div标签的例子。

如果想研究这些情形发生的上下文,我们可以使用ES6提供的标准Proxy对象,给浏览器原生的document.createElement方法注入一个proxy,里面设置一个断点。这样每当div标签页被动态创建时,我们注入的proxy将会取代标准的document.createElement被浏览器调用。从断点停下来的调用上下文,我们即可观测到更多信息。

const handler = { // Our hook to keep the track    apply: function (target, thisArg, args){        console.log("Jerry Intercepted a call tocreateElement with args: " + args);        debugger;        return target.apply(thisArg, args)    }}document.createElement= new Proxy(document.createElement, handler);

比如每次SAP Cloud for Customer UI出现busy indicator的动画效果时,其实浏览器就是残躯新建一个div标签的方式实现的。

使用setTimeout实现busy indicator的动态效果。

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

本站资源来自互联网,仅供学习,如有侵权,请通知删除,敬请谅解!
搜索建议:拦截  拦截词条  标准化  标准化词条  JavaScript  JavaScript词条  对象  对象词条  利用  利用词条  
综合数码问答

 如何在Minecraft中得到鞍

找到一架鞍如何用鞍骑猪用鞍骑马参考在游戏“我的世界”(Minecraft)中,鞍是骑猪或者骑马的时候用的。和这个游戏中其他大多数物品不同,如果你需要鞍,自己是做...(展开)

综合数码问答

 如何提高视频质量

下载视频编辑应用程序使用H.264编码解码器把视频转换为MP4进行后处理使用Warpsharp提高视频质量使用模糊滤镜、柔化滤镜或平滑滤镜调整光亮度、对比度、色...(展开)