开发者社区> 问答> 正文

钉钉免登-遇到报错 index.js:200 Not in DingTalk PC webview

我按文档说的把相应的数据获取完后放到前端,进行获取Code的操作,可是js提示报错,请问大神这是咋回事?QQ20170519_113014_2xQQ20170519_113030_2x

展开
收起
戴夫 2017-05-19 11:31:23 14894 0
4 条回答
写回答
取消 提交回答
  • 遇到这个问题在钉钉的PC端上调试就可以了,不要用浏览器调试。

    2019-07-17 21:11:38
    赞同 展开评论 打赏
  • 跟踪了一下代码,比较坑,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也是个坑货。

    2019-07-17 21:11:38
    赞同 展开评论 打赏
  • 你好,我也遇到这个情况了?怎么解决的?

    2019-07-17 21:11:38
    赞同 展开评论 打赏
  • 解决了[尴尬]~原来是引入错了api文件~

    2019-07-17 21:11:38
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript面向对象的程序设计 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载