钉钉免登-遇到报错 index.js:200 Not in DingTalk PC webview
跟踪了一下代码,比较坑,DINGTALKPC版通过window.name 传递DINGTALKPC的特有参数,我用了layer.js,这家伙也是用window.name来传递窗口index,两个王八蛋打架了。解决方法稍微麻烦,第一次访问页面时,不要调用layer.js,此时记录下window.name(传后台存也行,本地存也行),后面用到layer.js的页面,在requie dingtalkpc前,临时变量记录下当前window.name(一般这时已经被layer.js改了),把window.name换回缓存的dingtalkpc参数那个(他主要是加载dingtalkpc.js时判断window.name,并且用到里面的参数),ready后,再把临时变量重新给回window.name,算是解决了。其他碰到 index.js:200 Not in DingTalk PC webview 应该都是因为其他js改掉了window.name,导致dingtalkpc.js自己认不出是在dingtalkpc。ztm的坑,认认agent好了,或者自己定义一个特殊名字赋给window也行,非要占用window.name,layer.js也是个坑货。
赞0
踩0