湖里大屏(BIM中心):完成 iframe 通信

This commit is contained in:
Jack 2022-08-17 11:14:38 +08:00
parent 1eb609ad22
commit bedfd895d3
2 changed files with 45 additions and 17 deletions

View File

@ -8,9 +8,10 @@
<div id="domId" style="width: 100%; height: 95vh"></div> <div id="domId" style="width: 100%; height: 95vh"></div>
<script src="https://static.bimface.com/api/BimfaceSDKLoader/BimfaceSDKLoader@latest-release.js" charset="utf-8"></script> <script src="https://static.bimface.com/api/BimfaceSDKLoader/BimfaceSDKLoader@latest-release.js" charset="utf-8"></script>
<script> <script>
const bimCallback = viewToken => {
let viewer3D let viewer3D
let app let app
let viewToken = '11b0d307c09f43bfa5fa3922bcce0342' // let viewToken = '11b0d307c09f43bfa5fa3922bcce0342'
let loaderConfig = new BimfaceSDKLoaderConfig() let loaderConfig = new BimfaceSDKLoaderConfig()
loaderConfig.viewToken = viewToken loaderConfig.viewToken = viewToken
BimfaceSDKLoader.load(loaderConfig, successCallback, failureCallback) BimfaceSDKLoader.load(loaderConfig, successCallback, failureCallback)
@ -26,6 +27,15 @@
function failureCallback(error) { function failureCallback(error) {
console.log(error) console.log(error)
} }
}
window.addEventListener('message', function(e) {
console.log(e.data, '父级页面传来的数据')
// bimCallback(e.data)
setTimeout(() => {
window.parent.postMessage({ msg: 'hello' })
}, 2000)
})
</script> </script>
</body> </body>
</html> </html>

View File

@ -10,7 +10,7 @@
</div> </div>
</div> </div>
<div class="centerBox"> <div class="centerBox">
<iframe src="/bim.html" frameborder="0" width="100%" height="100%"></iframe> <iframe src="/bim.html" frameborder="0" width="100%" height="100%" id="iframe" @load="load"></iframe>
</div> </div>
<div class="rightBox"> <div class="rightBox">
<div class="rightTop"> <div class="rightTop">
@ -35,6 +35,24 @@ export default {
leftCenter, leftCenter,
rightTop, rightTop,
rightCenter rightCenter
},
mounted() {
this.iframe = document.getElementById('iframe')
window.addEventListener('message', this.getIframeMessage)
},
data() {
return {
iframe: null
}
},
methods: {
load() {
this.iframe.contentWindow.postMessage('Message from parentload complate')
},
getIframeMessage(e) {
console.log(e.data, '丢雷1')
console.log(this, '丢雷2')
}
} }
} }
</script> </script>