我正在尝试创建一个使用与Google Analytics网站覆盖相似技术的网站,但我将构建自己的网站。我可能稍后决定更改叠加的类型(或完全消除它),因此使用叠加而不是直接修改源页面是我正在考虑的唯一选项。目前,我还在测试位于顶部的静态栏(例如Google Analytics也会使用),它会使用下面的iframe来提供源页面。
以下是代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<head>
<title>Test Overlay</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<style type="text/css">
body {
margin: 0;
padding: 40px 0 0 0;
overflow: hidden;
font: 83%/1.4 Arial, Helvetica, Sans-Serif;
}
#bar {
position: absolute;
top: 0;
left: 0;
z-index: 100;
width: 100%;
min-width: 900px;
height: 30px;
padding: 5px 0;
line-height: 1;
background: #333;
color: #fff;
text-size: 1.2em;
}
#bar a {
padding: 0 5px;
color: #fff;
}
#frame {
width: 100%;
height: 100%;
z-index: 10;
}
#overlay_example
{
position: absolute;
left: 275px;
top: 275px;
font-size: 14px;
}
</style>
</head>
<body>
<div id="content">
<div id="bar">
<a href="http://mytestsite.com" title="overlay example">Test Site</a>
</div>
<div>
<iframe scrolling="auto" id="frame" src="http://www.google.com/search?hl=en&q=CSS+iframe+overlay" frameborder="0" ></iframe>
</div>
<div id="overlay_example">* Overlay Data *</div>
</div>
</body>
</html>
然而,我遇到的主要问题是在我的目标网站上(在此测试用例中搜索谷歌),当页面滚动的时间长于可查看的屏幕区域时,当我向下滚动时,叠加文本会保持静态。反正有没有改变CSS,以便覆盖文本保持在我希望它覆盖在目标网站的旁边?例如,对于Google搜索结果,如果我要覆盖Google徽标旁边的文字,那么叠加文字将始终保留在Google徽标的旁边,这样当我向下滚动到足以让徽标不再在视野中时,叠加文字也不再在视野中。这就像谷歌分析一样,我希望叠加文本可以直接锚定到它叠加的文本。
如果我能回答任何有关我希望如何工作的问题,请告诉我。
谢谢!
答案 0 :(得分:2)
由于浏览器安全限制,我认为您无法从iframe外部编辑iframe的内容。您必须使用css或javascript在iframe中进行样式设计。