我正在尝试构建一个使用画布的简单环聊应用程序。我遇到的问题是,每当我尝试获取画布的高度和宽度时,我都会得到 0。当我在测试文件 (test.html) 中复制完全相同的代码时,一切似乎都运行良好。这是我的代码,我将所有的 css 和 html 放在一个地方以便于阅读:
<script src="https://hangoutsapi.talkgadget.google.com/hangouts/_/api/hangout.js?v=1.2"> </script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div id="canvasDiv"></div>
<style>
#canvasDiv {
width:100%;
height:100%;
position:relative;
}
</style>
<script>
$(window).load(function(){
var canvasDiv = document.getElementById('canvasDiv');
canvas = document.createElement('canvas');
canvas.style.width='100%';
canvas.style.height='100%';
canvasDiv.appendChild(canvas);
console.log($('#canvasDiv').height());
canvas.width = $('#canvasDiv').width();
canvas.height = $('#canvasDiv').height();
在前面的代码中,console.log 在 google hangouts iframe 中打印 0,但在测试文件中打印正确的数字。