【发布时间】:2015-09-18 08:33:11
【问题描述】:
这个话题已经讨论过几次,但没有使用 Javascript 的明确解决方案。所有的反应都很模糊。请帮助我,因为我在任何网站上都找不到直接的答案。
当 iframe 窗口内发生任何点击时,我正在尝试执行一个函数。具体来说,点击 iframe 中显示的页面上的超链接。但是,只要能够在 iframe 中触发任何点击功能就足够了。
我有一个函数 Show(),我想在单击 iframe 时运行它。所以基本上一个链接会自动隐藏,当第一个链接被点击时它会显示出来。当点击显示的“点击隐藏”链接时,“点击隐藏”链接被隐藏。我希望当有人在 iframe 中点击时显示“点击隐藏”链接。每次在 iframe 中发生点击时,我都需要它来运行该功能。谢谢。
一个用户想出了一个使用 div 的解决方案,这在技术上是一个解决方案,但它有一些问题,我将在下面解释:
未调整的代码:
<html>
<head>
<title>StackOverflow Example</title>
<style>
.visible {visibility: visible}
.hidden {visibility: hidden}
</style>
<script type="text/javascript">
var visible_link = true;
function Hide() {
document.getElementById("my_div").className = "hidden";
document.getElementById("my_button").value = "SHOW";
}
function Show() {
document.getElementById("my_div").className = "visible";
document.getElementById("my_button").value = "HIDE";
}
</script>
</head>
<body>
<center>
<iframe src="http://www.google.com" height=549 width=100% frameborder=0 name = "hello"></iframe>
<a href="http://www.google.com" target = "hello" onclick = "Show();">click to show below link</a>
<div id="my_div" class="hidden">
<a href="http://www.google.com" target="hello" onclick = "Hide();" >click me to hide</a>
</div>
</center>
</body>
</html>
添加 div 允许在单击 iframe 区域时显示链接(正如您所看到的 div 所在的位置 - 不幸的是,我认为我只是单击 div 并且它下面的 iframe 页面上没有任何内容是可点击的)。
但是,我遇到了三个问题。
1) div如何占据整个窗口的宽度(我尝试在#cover下的宽度值上加100%)。
2) 当 div 覆盖所有 iframe 时,iframe 内的网页不可点击。
3) div 不透明。
调整代码:
<html>
<head>
<title>StackOverflow Example</title>
<style>
.visible {visibility: visible}
.hidden {visibility: hidden}
#cover {
position: absolute;
background: rgba(0, 0, 0, 0.5); /* added for example */
height: 150px;
width: 150px;
}
</style>
<script type="text/javascript">
var visible_link = true;
function Hide() {
document.getElementById("my_div").className = "hidden";
document.getElementById("my_button").value = "SHOW";
}
function Show() {
document.getElementById("my_div").className = "visible";
document.getElementById("my_button").value = "HIDE";
}
</script>
</head>
<body>
<center>
<div id="cover" onclick="Show();"></div>
<iframe src="http://stackoverflow.com" height=549 width=100% frameborder=0 name = "hello"></iframe>
<a href="http://stackoverflow.com" target = "hello" onclick = "Show();">links</a>
<div id="my_div" class="hidden">
<a href="http://stackoverflow.com" target="hello" onclick = "Hide();" ><-</a>
</div>
</center>
</body>
</html>
如果有人可以编辑上面的代码并让 div 占据所有宽度,同时 iframe 的网页完全可点击是透明的 - 我会非常感激和高兴。
【问题讨论】:
标签: iframe