开发者社区> 问答> 正文

钉钉企业微应用免登时前端网页不执行嵌在里面的js文件

因为要实现免登就得调用js-api中的dd.config,ready等接口,我按照步骤将它们写好,如下代码所示:
dd.config({
    agentId : _config.agentid,
    corpId : _config.corpId,
    timeStamp : _config.timeStamp,
    nonceStr : _config.nonceStr,
    signature : _config.signature,
    jsApiList : [
    'runtime.info',
    'biz.contact.choose',
    'device.notification.confirm',
    'device.notification.alert',
    'device.notification.prompt',
    'biz.ding.post',
    'biz.util.openLink' ]
  });


dd.ready(function() {
    alert("执行了");
    dd.runtime.info({
    onSuccess : function(info) {
        logger.e('runtime info: ' + JSON.stringify(info));
    },
   onFail : function(err) {
       logger.e('fail: ' + JSON.stringify(err));
   }
});
    

dd.runtime.permission.requestAuthCode({
    corpId : _config.corpId,
    onSuccess : function(info) {
    //            alert('authcode: ' + info.code);
    $.ajax({
        url : 'userinfo?code=' + info.code + '&corpid='
           + _config.corpId,
        type : 'GET',
        success : function(data, status, xhr) {
            var info = JSON.parse(data);

           document.getElementById("userName").innerHTML = info.name;
           document.getElementById("userId").innerHTML = info.userid;
       },
       error : function(xhr, errorType, error) {
           logger.e("yinyien:" + _config.corpId);
           alert(errorType + ', ' + error);
       }
   });
        },
onFail : function(err) {
  alert('fail: ' + JSON.stringify(err));
    }
});
});

dd.error(function(err) {
    document.getElementById("userName").innerHTML = "验证出错";
    alert('dd error: ' + JSON.stringify(err));
});
我写的网页的主页代码如下:
<!DOCTYPE html>
<%@ page language="java" import="java.util.*" contentType="textml;charset=utf-8"%>
<html>
  <head>
    <meta http-equiv=Content-Type content="textml;charset=utf-8">
    <meta charset="gbk">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">  
    <meta content="yes" name="apple-mobile-web-app-capable"/>
    <meta content="black" name="apple-mobile-web-app-status-bar-style">
    <meta content="telephone=no" name="format-detection"/>
    <meta content="yes" name="apple-touch-fullscreen"/>
    <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no" />
    <link type="text/css" rel="stylesheet" href="stylesheets/style.css" />
   <style>
    body {
       background-color: white;
    }
    *{
       padding: 0;
       margin: 0;
    }
   .text {
       margin-left: 10px;
       width: calc(100% - 50px);
       display: inline-block;
       text-align: left;
       line-height: 70px;
       vertical-align: middle;
   }
   </style>

   <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">

   <title>企业开发者首页</title>
        
   <script type="text/javascript">
       var _config = <%= controler.GetConfigs.getConfig(request) %>;
   </script>

   <script type="text/javascript" src="http://g.alicdn.com/ilw/ding/0.9.2/scripts/dingtalk.js">
   </script>
   <script type="text/javascript" src="javascripts/demo.js">
   </script>
</head>

<body>
    <div style="padding-left:10px;">    欢迎您:<div id="userName" style="display:inline-block;font-weight:bold"></div> 成为钉钉开发者,您当前在钉钉的<code>userId</code>    为:<div id="userId" style="display:inline-block;font-weight:bold"></div> 。</div>
</body>
</html>
我访问这个网页时,并没有执行包含dd.config和其他获取授权码code的demo.js文件,我不知道怎么办,希望大家帮助一下!!!



展开
收起
jerry_lisa 2016-11-18 22:22:15 6538 0
2 条回答
写回答
取消 提交回答
  • 你确定 document对象可以在这里面使用吗

    2020-12-01 10:02:51
    赞同 展开评论 打赏
  • “我访问这个网页时,并没有执行包含dd.config和其他获取授权码code的demo.js文件”这个错误描述可能不够清楚。
    建议您下载开发版客户端https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.00GwP7&treeId=171&articleId=104908&docType=1
    使用开发版调试可以看到详细的错误信息
    2016-11-21 18:51:26
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Vue.js 在前端服务化上的探索与实践 立即下载
阿里文娱大前端技术实践 立即下载
前端代码是怎样智能生成的 立即下载