我正在尝试构建一个使用画布的简单环聊应用程序。我遇到的问题是,每当我尝试获取画布的高度和宽度时,我都会得到 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,但在测试文件中打印正确的数字。