在iframe上覆盖画布 - HTML

5
我正在忙于编写一个生成HTML代码的servlet。目标是通过存储的点击数据创建网站上用户点击位置的热力图。我已经找到了使用JavaScript在画布中创建热力图,并想将该画布覆盖在与点击信息相关的网页上。
以下是我的HTML代码,成功生成了热力图并创建了一个iframe。该iframe被覆盖在热力图上。但目前我不知道如何使iframe与网页大小相同,以便看起来像是网站上方有一个热力图叠加:
<html> 
    <head> 
        <style> 
            #heatmapArea{
            position:relative;
            float:left;
            width:410px;
            height:410px;
                            z-index:1000;
            border:1px dashed black;

                    #iframeArea{
                            position:relative;
                            float:left;
                            width:100%;
                            height:100%
                            z-index:1;
                    }
        }
    </style> 
</head> 

<body> 
    <div id="main"> 
        <div id="heatmapArea"> 
                        <div id="iframeArea">
                            <iframe src="www.google.com"></iframe>
                        </div>

        </div> 
    </div> 

    <script type="text/javascript" src="heatmap.js"></script> 
    <script type="text/javascript"> 


    window.onload = function(){
        var xx = h337.create({"element":document.getElementById("heatmapArea"), "radius":10, "visible":true});
        var el = "{max: 100, data: [{x: 20, y: 20, count: 10},{x: 200, y: 200, count: 43},{x: 200, y: 400, count: 7},{x: 380, y: 400, count: 6},{x: 400, y: 400, count: 4},{x: 280, y: 260, count: 100},{x: 80, y: 60, count: 40},{x: 166, y: 260, count: 85},{x: 300, y: 400, count: 34},]}";
        var obj = eval('('+el+')');
        xx.store.setDataSet(obj);
    };

    </script> 
</body> 

我是一个对HTML很陌生的新手,我应该怎么做才能实现自己想要的效果?

非常感谢!

1个回答

3

据我所知,您想在HTML和CSS中完成此操作。那么可能需要:

步骤1: 将以下内容添加到CSS中:html,body {height:100%;}

步骤2: 将以下内容添加到iframe类中:position: absolute; width: 100%; height: 100%;

我创建了一个快速的fiddle演示,展示了它是如何工作的:http://jsfiddle.net/hobobne/a3muZ/


有没有办法让页面在滚动 iframe 的同时也向下滚动?问题在于,如果 iframe 向下滚动,热力图的上下文就会丢失。例如:这是初始页面上下文,热力图显示人们滚动/缩放的位置:http://imgur.com/a/Uhljn#GgWJ6当实际页面向下滚动时,上下文得以保留:http://imgur.com/a/Uhljn#wwT2S但是当 iframe 滚动时,热力图不会跟随滚动,上下文就会丢失:http://imgur.com/a/Uhljn#bhXSu - Dave Anderson
我可能理解错了,但是你的意思是这样吗?http://jsfiddle.net/hobobne/a3muZ/1/ 当然,这意味着使用top、right、bottom或left进行定位。但是要使其在滚动时保持粘性:position: fixed; - Kalle H. Väravas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接