gpt4 book ai didi

javascript - 在 html 中禁用框架

转载 作者:行者123 更新时间:2023-11-30 13:13:55 25 4
gpt4 key购买 nike

我有一个页面,我在其中填充弹出屏幕,当我单击必须填充弹出窗口的链接时,该页面由一些框架组成,它会正确填充窗口,但 html 页面单独获取 block 中的背景和框架没有得到背景 block 。

请参阅图片以供引用,我还将过去我使用的文件:

enter image description here

POPUP.JS

//SETTING UP OUR POPUP
//0 means disabled; 1 means enabled;
var popupStatus = 0;

//loading popup with jQuery magic!
function loadPopup(){
//loads popup only if it is disabled
if(popupStatus==0){
$("#backgroundPopup").css({
"opacity": "0.7"
});
$("#backgroundPopup").fadeIn("slow");
$("#popupContact").fadeIn("slow");
popupStatus = 1;
}
}

//disabling popup with jQuery magic!
function disablePopup(){
//disables popup only if it is enabled
if(popupStatus==1){
$("#backgroundPopup").fadeOut("slow");
$("#popupContact").fadeOut("slow");
popupStatus = 0;
}
}

//centering popup
function centerPopup(){
//request data for centering
var windowWidth = document.documentElement.clientWidth;
var windowHeight = document.documentElement.clientHeight;
var popupHeight = $("#popupContact").height();
var popupWidth = $("#popupContact").width();
//centering
$("#popupContact").css({
"position": "absolute",
"top": windowHeight/2-popupHeight/2,
"left": windowWidth/2-popupWidth/2
});
//only need force for IE6

$("#backgroundPopup").css({
"height": windowHeight
});

}


//CONTROLLING EVENTS IN jQuery
$(document).ready(function(){

//LOADING POPUP
//Click the button event!
$("#button").click(function(){
//centering with css
centerPopup();
//load popup
loadPopup();
});

//CLOSING POPUP
//Click the x event!
$("#popupContactClose").click(function(){
disablePopup();
});
//Click out event!
$("#backgroundPopup").click(function(){
disablePopup();
});
//Press Escape event!
$(document).keypress(function(e){
if(e.keyCode==27 && popupStatus==1){
disablePopup();
}
});

});

and POPUP.CSS
#backgroundPopup{
display:none;
position:fixed;
_position:absolute; /* hack for internet explorer 6*/
height:100%;
width:100%;
top:0;
left:0;
background:#000000;
border:1px solid #cecece;
z-index:1;
}
#popupContact{
display:none;
position:fixed;
_position:absolute; /* hack for internet explorer 6*/
height:384px;
width:750px;
background:#FFFFFF;
border:2px solid #cecece;
z-index:2;
padding:12px;
font-size:13px;
overflow:scroll;
}
#popupContact h1{
text-align:left;
color:#333;
font-size:20px;
border-bottom:1px dotted #D3D3D3;
padding-bottom:5px;
margin-bottom:20px;
}
#popupContactClose{
font-size:14px;
line-height:14px;
right:6px;
top:4px;
position:absolute;
color:#6fa5fd;
font-weight:700;
display:block;
cursor:pointer;
}
#button{
text-align:center;
}

and the html :

<div id="popupContact">
<a id="popupContactClose"><img src="images/x.png" alt="X" /></a>
<h1>Reports</h1>
<table border="0" width="100%" cellpadding="0" cellspacing="0">
<thead>
<tr>
<th class="header">Sl. No</th>
<th class="header">Checkbox</th>
<th class="header">Size</th>
<th class="header">Display</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td><input type="checkbox" name="check" id="check" /></td>
<td><input type="text" value="" /></td>
<td><input type="text" value="" /></td>
</tr>
<tr class="odd">
<td>2</td>
<td><input type="checkbox" name="check" id="check" /></td>
<td><input type="text" value="" /></td>
<td><input type="text" value="" /></td>
</tr>
<tr>
<td>3</td>
<td><input type="checkbox" name="check" id="check" /></td>
<td><input type="text" value="" /></td>
<td><input type="text" value="" /></td>
</tr>
<tr class="odd">
<td>4</td>
<td><input type="checkbox" name="check" id="check" /></td>
<td><input type="text" value="" /></td>
<td><input type="text" value="" /></td>
</tr>
<tr>
<td>5</td>
<td><input type="checkbox" name="check" id="check" /></td>
<td><input type="text" value="" /></td>
<td><input type="text" value="" /></td>
</tr>
<tr class="odd">
<td>6</td>
<td><input type="checkbox" name="check" id="check" /></td>
<td><input type="text" value="" /></td>
<td><input type="text" value="" /></td>
</tr>
<tr>
<td>7</td>
<td><input type="checkbox" name="check" id="check" /></td>
<td><input type="text" value="" /></td>
<td><input type="text" value="" /></td>
</tr>
<tr class="odd">
<td>8</td>
<td><input type="checkbox" name="check" id="check" /></td>
<td><input type="text" value="" /></td>
<td><input type="text" value="" /></td>
</tr>
<tr>
<td>9</td>
<td><input type="checkbox" name="check" id="check" /></td>
<td><input type="text" value="" /></td>
<td><input type="text" value="" /></td>
</tr>
<tr class="odd">
<td>10</td>
<td><input type="checkbox" name="check" id="check" /></td>
<td><input type="text" value="" /></td>
<td><input type="text" value="" /></td>
</tr>
<tr>
<td>11</td>
<td><input type="checkbox" name="check" id="check" /></td>
<td><input type="text" value="" /></td>
<td><input type="text" value="" /></td>
</tr>
<tr class="odd">
<td>12</td>
<td><input type="checkbox" name="check" id="check" /></td>
<td><input type="text" value="" /></td>
<td><input type="text" value="" /></td>
</tr>
</tbody>
</table>
</div>
<div id="backgroundPopup"></div>

请帮我看看怎么走。

最佳答案

我认为在框架集(即 obsolete in HTML 5 )中没有好的方法可以做到这一点。一个窗口不能将自己的元素放在其他窗口之上1

实现此目的的黑客方法是让 frameset 中的所有 frames 知道您需要模态行为,并让它们各自显示一个阻塞元素(如您正在主框架中进行)。这可能会发生在您的 loadPopup() 方法中。

常规的弹出窗口可能是一个更简洁的选择。

但实际上,没有充分的理由使用框架集,尤其是对于图中所示的布局。

1 - 作为一个历史琐事,IE 曾经允许一种特殊类型的元素覆盖,它可以覆盖其他窗口/框架。这被证明是一个特别糟糕的主意,当黑客使用它来生成一个元素,该元素用虚假 URL 覆盖浏览器的地址栏时。

关于javascript - 在 html 中禁用框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12854007/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com