微信js-sdk調用一些接口,比如企業微信集成選人接口,需要注入agentconfig,官方說法是需要加載 https://open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js
但是這個文件里面只有agentconfig函數,可以通過控制台
[
"config",
"ready",
"error",
"checkJsApi",
"onMenuShareTimeline",
"onMenuShareAppMessage",
"onMenuShareQQ",
"onMenuShareWeibo",
"onMenuShareQZone",
"startRecord",
"stopRecord",
"onVoiceRecordEnd",
"playVoice",
"pauseVoice",
"stopVoice",
"onVoicePlayEnd",
"uploadVoice",
"downloadVoice",
"translateVoice",
"chooseImage",
"getLocation",
"previewImage",
"uploadImage",
"downloadImage",
"getLocalImgData",
"getNetworkType",
"openLocation",
"hideOptionMenu",
"showOptionMenu",
"closeWindow",
"hideMenuItems",
"showMenuItems",
"hideAllNonBaseMenuItem",
"showAllNonBaseMenuItem",
"scanQRCode",
"openAddress",
"openProductSpecificView",
"addCard",
"chooseCard",
"openCard",
"consumeAndShareCard",
"chooseWXPay",
"openEnterpriseRedPacket",
"startSearchBeacons",
"stopSearchBeacons",
"onSearchBeacons",
"openEnterpriseChat",
"agentConfig"
]
頁面寫入順序如下:
<script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js" type="text/javascript"></script>
<script src="https://open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js" type="text/javascript"></script>
這樣是不行的,雖然jweixin寫在上面,但是文件大,可能加載在jwxwork后面,導致wx對象仍沒有agentconfig函數。晚上有個說法是調用1.0.0文件,https://res.wx.qq.com/wwopen/js/jsapi/jweixin-1.0.0.js,這個文件里有agentconfig函數,但是是舊版的。
綜上,解決辦法是手動加載js文件
參考:https://www.cnblogs.com/xiaoniaohhl/p/11254272.html
頁面中js加載完全的方法
function loadScript( url, callback) { var script = document.createElement("script"); script.type = "text/javascript"; if (script.readyState) { script.onreadystatechange = function() { if (script.readyState == "loaded" || script.readyState == "complete") { script.onreadystatechange = null; callback(); } } } else { script.onload = function() { callback(); } } script.src = url; document.getElementsByName("head")[0].appendChild(script); } |
如何讓腳本的執行順序按照你設定的順序執行,使用嵌套的方式:
loadScript("file1.js", function() { loadScript("file2.js", function() { loadScript("file3.js", function() { alert("All files are loaded"); }); }); }); |