此控件的githubhttps://github.com/neuronetio/gantt-schedule-timeline-calenda
原因:最近想做个甘特图玩玩,找了几个控件,还是这个最好用,不过协议是免费用两个月后面要收钱!
声明:仅用于源码的学习,如果读者用此文章的方法改动后的js源码用于任何违背此项目方意愿的事情与本作者无关,改动后的版本请勿用于商业目的,支持项目协议!如有需要请购买正版。
略懂的用户建议直接正文
首先白嫖官方的运行说明用【https://github.com/neuronetio/gantt-schedule-timeline-calendar#examples】上的方式,克隆下并运行,运行后访问【http://localhost:8080/examples/simple/simple.esm.html】,现在你能看到正常的效果了,因为demo中提供的licenseKey本地开发有效的。我们故意把licenseKey改成123,不出意外的话必出意外了会显示,如下图:
。因为这个控件中的js请求了【https://gstc.neuronet.io/api/license】 这个地址,官方服务器给你报错了。那我们直接去给他关闭请求并在处理结果是一路true不就好了=。=???
正文
- 首先在引用的js文件dist/gstc.esm.min.js中搜索window[能找到两个,第二个不用管,搞第一个就行。如图
- 从把图一中的
替换成window[z("fln#",116)](y,{method:e(1197,1275),redirect:s(-426,"jPs["),headers:{"Content-Type":e(1078,1073)},body:b})[x(106,187)]((t=>{return 200!==t[(n=-228,o=-179,C(o-373,n))]&&(P=!1,u=f),t[(e=607,i="*&e3",j(e-342,i))]();var e,i,n,o}))
(new Promise(r => r()))[x(106,187)](t=> true)
- 操作完后保存,你又会看到报错,如下图,不过!你已经成功了一半,因为这时已经不请求了,只是请求结果的处理还未做
- sss
- 接着替换(1/2)!把i&&i.ok替换成true如下图
- 最后一次替换(2/2)!把i[d(-70,-129)]&&i[s(745,"nwd1")]===v替换成true如下图
- 这里保存文件,刷新效果就出来了
提示:如果没样式 说明你没引入/dist/style.css文件
还有一点要注意!因为改的这个文件是打包压缩过后的文件,变量名每次官方生成的是不一样的,比如你搜i&&i.ok可能就搜不到,可能会改成e&&e.ok等其他任何变量。不过嘛window我看他是不改的,所以从头入手,只要他这块逻辑没改从window[开始搜索 还是可以成功的。懂得都懂,不懂的也就不懂