钉钉小程序代码:嵌套H5 pages/login/index.axml
<web-view src="{{urlH5}}" onMessage="test"></web-view>
H5向小程序发送信息:
H5代码:
通过以下代码我一直报错dd没有被定义
if (navigator.userAgent.toLowerCase().indexOf('dingtalk') > -1) {
document.writeln('<script src="https://appx/web-view.min.js"' + '>' + '<' + '/' + 'script>');
}
所以这样子引入dd !!!!
代码:template.h5.html
<script type="text/javascript" src="https://appx/web-view.min.js"></script>
在h5页面中引入以上代码成功使用dd
H5点击按钮向H5发送信息
H5页面代码:
<view class="goBoxto" @click="test">
向小程序发送信息
</view>
test() {
// 判断当前是否处于钉钉环境
if (navigator.userAgent.toLowerCase().indexOf("dingtalk") > -1) {
// 下载dd资源 这种引入钉钉也报错
if (!window.dd) {
// console.log("追加dd");
// let script = document.createElement("script");
// script.src = "https://appx/web-view.min.js";
// script.async = true;
// document.head.appendChild(script);
// console.log("追加dd1");
}
console.log("通信", window);
// H5向钉钉小程序通信
window.dd && window.dd.postMessage({
noticeDetail: JSON.stringify(this.data),
});
}
},
小程序端接受信息 代码:pages/login/index.js
test(e){
console.log("获取数据",e.detail.noticeDetail);
dd.setStorageSync({
key: 'noticeDetail',
data: e.detail.noticeDetail
});
//接受成功后做其他操作
dd.navigateTo({
url: "/pages/newsDetail/index"
})
}