2

我在处理 IE8 和 Websphere 6.1 时遇到了一个奇怪的不透明度问题。

有一个非常基本的不透明度设置,我们在某个屏幕上方有一个模态类型对话框。我在后台的屏幕顶部放置了一个不透明的 div,因此用户无法单击任何控件但可以看到它,然后在顶部添加对话框并强制他们回答问题。看起来很基本,很容易做到。

这是用于创建上述不透明效果的 css:

.wipeOutDiv {
top: 0px;
left: 0px;
position: absolute;
width: 100%;
height: 100%;
background-color: #d9d9d9;
filter: alpha(opacity=70);
opacity: 0.70; 
}

这是用于创建对话框的 CSS:

.dialogBox {
position: absolute;
width: 350px;
margin: auto; 
z-index: 1;
background-color: white;
border-top:12px solid;
border-top-color: #ffd93f; 
border-left: 2px solid;
border-right: 2px solid;
border-bottom: 2px solid;
border-color: #ffd93f; 
padding: 8px;
top: 40%;
left: 40%;
font-family: arial;
font-size: 8pt; 
}

该方案在所有浏览器的开发中都能正常工作。在我的机器上本地运行良好,在集成环境上也运行良好。以为我很清楚。

但是,一旦进入我们的 ST 环境或更高版本,不透明度在 IE8 中无法正常工作。它仍然适用于 Chrome 和 FF,但由于某种原因 IE8 无法正常工作。使用 'wipeOutDiv' CSS 类的 div 变得完全可靠,看起来很奇怪。我尝试过修改 IE 的浏览器模式和文档模式,但我所做的任何更改都无法让它在这些环境中工作。

我比较了环境之间的 DOM 文档,它们是相同的。留给我的唯一变量是应用程序服务器本身,在本例中是 Websphere 6.1。我注意到一个区别是它工作的环境是通过 http 提供的,而它不是 https 的环境。这似乎更像是一个巧合,而不是真正的根本原因。

我很生气。有人有什么建议或类似的经历吗?

4

1 回答 1

1

这最终成为 IE 在本地计算机上在不受信任的站点上启用“保护模式”的问题。IE opacity hack 需要使用外部 .DLL 文件,如果没有启用保护模式,IE 不会让这种情况发生。只有当某人的机器在生产中正常工作并且他们注意到他们已将该站点添加到受信任列表中时,才能解决此问题。

于 2013-08-19T03:18:30.673 回答