Php body onload上的弹出窗口在IE上不起作用?
我使用JavaScript在特定条件下在当前页面上弹出一个窗口。它可以在firefox和chrome上正常工作,但在IE上不行Php body onload上的弹出窗口在IE上不起作用?,php,javascript,internet-explorer,zend-framework,internet-explorer-8,Php,Javascript,Internet Explorer,Zend Framework,Internet Explorer 8,我使用JavaScript在特定条件下在当前页面上弹出一个窗口。它可以在firefox和chrome上正常工作,但在IE上不行 功能切换(div_id){ var el=document.getElementById(div_id); 如果(el.style.display='none'){el.style.display='block';} else{el.style.display='none';} } 函数大小(popUpDivVar){ if(typeof window.innerWi
功能切换(div_id){
var el=document.getElementById(div_id);
如果(el.style.display='none'){el.style.display='block';}
else{el.style.display='none';}
}
函数大小(popUpDivVar){
if(typeof window.innerWidth!=“未定义”){
视口高度=window.innerHeight;
}否则{
视口高度=document.documentElement.clientHeight;
}
if((viewportheight>document.body.parentNode.scrollHeight)
&&(视口高度>
document.body.parentNode.clientHeight)
{
毛毯高度=视口高度;
}否则{
if(document.body.parentNode.clientHeight
document.body.parentNode.scrollHeight)
{
毯子高度=document.body.parentNode.clientHeight;
}否则{
毯子高度=document.body.parentNode.scrollHeight;
}
}
var blanket=document.getElementById('blanket');
毛毯.style.height=毛毯_高度+px';
var popUpDiv=document.getElementById(popupdivar);
popUpDiv_高度=毛毯_高度/2-150;//150
是弹窗高度的一半
popUpDiv.style.top=popUpDiv_高度+'px';
}
功能窗口位置(popUpDivVar){
if(typeof window.innerWidth!=“未定义”){
视口宽度=window.innerHeight;
}否则{
viewportwidth=document.documentElement.clientHeight;
}
if((viewportwidth>document.body.parentNode.scrollWidth)
&&(视口宽度>
document.body.parentNode.clientWidth)
{
窗口宽度=视口宽度;
}否则{
if(document.body.parentNode.clientWidth
document.body.parentNode.scrollWidth)
{
窗口宽度=document.body.parentNode.clientWidth;
}否则{
窗口宽度=document.body.parentNode.scrollWidth;
}
}
var popUpDiv=document.getElementById(popupdivar);
窗口宽度=窗口宽度/2-150;//150
是弹出窗口宽度的一半
popUpDiv.style.left=窗口宽度+'px';
}
功能弹出窗口(windowname){
毛毯尺寸(窗口名称);
窗口位置(窗口名称);
开关(“毯子”);
切换(窗口名);
}
,谢谢你回来!
搜寻
编辑
它在onclick()事件中运行良好,但在onload()事件中产生了问题
可能的原因是什么,请帮助
提前感谢….我不确定我是否理解这里的问题,但我将其分解为仅弹出功能(忽略其他功能)而且似乎是最适合的。虽然我现在没有ie8的副本来测试它。不确定我是否理解这里的问题,但我将其分解为仅弹出功能(忽略其他功能)而且似乎是最合适的。虽然我现在没有ie8的副本来测试它。大多数浏览器使用popupblocker来阻止这种脚本。而这个庞然大物的问题是。。。?您尝试了什么调试?结果如何?你的电脑在哪里?是的,但我已经关闭了IE-8中的弹出窗口拦截器。我已经试过了。大多数浏览器都使用PopubLocker来阻止这种脚本。这个庞然大物的问题是。。。?您尝试了什么调试?结果如何?你的电脑在哪里?是的,但我已经关闭了IE-8中的弹出窗口拦截器。我试过一次,成功了。
<script type="text/javascript">
function toggle(div_id) {
var el = document.getElementById(div_id);
if ( el.style.display == 'none' ) {el.style.display = 'block';}
else {el.style.display = 'none';}
}
function blanket_size(popUpDivVar) {
if (typeof window.innerWidth != 'undefined') {
viewportheight = window.innerHeight;
} else {
viewportheight = document.documentElement.clientHeight;
}
if ((viewportheight > document.body.parentNode.scrollHeight)
&& (viewportheight >
document.body.parentNode.clientHeight))
{
blanket_height = viewportheight;
} else {
if (document.body.parentNode.clientHeight
document.body.parentNode.scrollHeight)
{
blanket_height = document.body.parentNode.clientHeight;
} else {
blanket_height = document.body.parentNode.scrollHeight;
}
}
var blanket = document.getElementById('blanket');
blanket.style.height = blanket_height + 'px';
var popUpDiv = document.getElementById(popUpDivVar);
popUpDiv_height=blanket_height/2-150;//150
is half popup's height
popUpDiv.style.top = popUpDiv_height + 'px';
}
function window_pos(popUpDivVar) {
if (typeof window.innerWidth != 'undefined') {
viewportwidth = window.innerHeight;
} else {
viewportwidth = document.documentElement.clientHeight;
}
if ((viewportwidth > document.body.parentNode.scrollWidth)
&& (viewportwidth >
document.body.parentNode.clientWidth))
{
window_width = viewportwidth;
} else {
if (document.body.parentNode.clientWidth
document.body.parentNode.scrollWidth)
{
window_width = document.body.parentNode.clientWidth;
} else {
window_width = document.body.parentNode.scrollWidth;
}
}
var popUpDiv = document.getElementById(popUpDivVar);
window_width=window_width/2-150;//150
is half popup's width
popUpDiv.style.left = window_width + 'px';
}
function popup(windowname) {
blanket_size(windowname);
window_pos(windowname);
toggle('blanket');
toggle(windowname);
}
</script>
<?php if( $_SESSION['ses']['count'] < 6 && !isset($_SESSION['ses']['cancelBack']) ){ ?>
<body onload=" popup('popUpDiv'); ">
<div id="blanket" style="display:none;"></div>
<div id="popUpDiv" style="display:none; opacity:100;">
<div id="brouse_now">
<div class="top_blanck">
<div class="cross"><a href="<?php echo $this->url(
array('controller' => 'index', 'action' => 'cancel'),
'default',
true) ?>"></a>
</div>
</div>
<div class="bot_blanck">
<div class="top_text_gree"><?php echo ($this->user[0]['name']); ?>, thanks for coming back !</div>
</div>
<div class="bot_blanck">
<p> Search </p>
</div>
<div class="browseget_btn">
<a href="<?php echo $this->url(
array('controller' => 'index', 'action' => 'search'),
'default',
true) ?>" onclick="popup('popUpDiv')">
<img src="<?php echo $this->baseUrl(); ?>/images/button/browseand_getfree.png" alt="" />
</a>
</div>
</div>
</div>
</body>
<?php } ?>