activex插件遮盖问题的处理

解决控件遮挡问题:关于有窗口元素和无窗口元素 不知道朋友们有没有碰到过控件的遮挡问题,最典型的就是DropdownList和ActiveX的遮挡,HTML的z-index就是用于处理这个问题,但是直接设置这个属性还不行,因为这中间还牵扯到有窗口元素和无窗口元素的问题。 有窗口元素大概有以下几种:  <object> 、ActiveX控件 、Plug-ins、DHTML Scriptlets、SELECT elements(即DropdownList的HTML表现)、IE5.01以前的IFRAMEs  无窗口元素包括:  无窗口的ActiveX控件、IE5.5以后的IFRAMEs、大部分的DHTML元素  其中很值得一提的就是ActiveX 立即下载

        最近在做一个播放音频的项目;由于界面上有播放音频的插件,插件占了页面的很大一块区域;而我们有需要有一个移动的DIV显示其他的信息;但当我加上可移动div后,当div移动到插件区域,插件就会将div遮挡住;我试了z-index等属性;还是没用;网上查找资料,也没有一个很好的解决方案;一方面我们叫负责插件这块的同事继续找找相关的资料,看下能否在插件本身上下功夫把这个问题解决掉;另一方面我们也在网页上找方法。

        经过试验,我发现了这样的几点:

1、外部的iframe能够遮挡插件;  2、内部div可以遮住iframe;基于这两个条件;我们可以用移动的iframe遮住插件;然后再将要显示的div放在iframe上;这就是此问题的解决方案;

具体代码如下;由于是自己测试所用,代码有些乱;而且插件也没有提供:

<html>
<head>
<style type="text/css">

</style>
<script src="jquery.js" type="text/javascript"></script>
<script>
$(function(){
	var _move=false;//移动标记
	var _x,_y;//鼠标离控件左上角的相对位置
    //$("#movBar").click(function(){
	$(window.frames["divIframe"].document).find("#testId").click(function(){
        //alert("click");//点击(松开后触发)
        }).mousedown(function(e){
        _move=true;
        _x=e.pageX-parseInt($("#movFrame").css("left"));
        _y=e.pageY-parseInt($("#movFrame").css("top"));
        $("#movFrame").fadeTo(20, 0.5);//点击后开始拖动并透明显示
    });
    $(window.frames["divIframe"].document).mousemove(function(e){
        if(_move){
            var x=e.pageX-_x;//移动时根据鼠标位置计算控件左上角的绝对位置
            var y=e.pageY-_y;
            $("#movFrame").css({top:y,left:x});//控件新位置
        }
    });$(window.frames["divIframe"].document).mouseup(function(){
    _move=false;
    $("#movFrame").fadeTo("fast", 1);//松开鼠标后停止移动并恢复成不透明
  });
  
  
  var _move2 = false;
 var _x2,_y2;
  $("#movBar").click(function(){
	 //$(window.frames["divIframe"].document).find("#testId").click(function(){
        //alert("click");//点击(松开后触发)
        }).mousedown(function(e){
        _move2=true;
        _x2=e.pageX-parseInt($("#movFrame").css("left"));
        _y2=e.pageY-parseInt($("#movFrame").css("top"));
        $("#movFrame").fadeTo(20, 0.5);//点击后开始拖动并透明显示
    });
    $(document).mousemove(function(e){
        if(_move2){
            var x=e.pageX-_x2;//移动时根据鼠标位置计算控件左上角的绝对位置
            var y=e.pageY-_y2;
            $("#movFrame").css({top:y,left:x});//控件新位置
        }
    }).mouseup(function(){
    _move2=false;
    $("#movFrame").fadeTo("fast", 1);//松开鼠标后停止移动并恢复成不透明
  });
  
  
  
  
  var _x1,_y1;
  var _move1 = false;
    $("#movBar1").click(function(){
	 //$(window.frames["divIframe"].document).find("#testId").click(function(){
        //alert("click");//点击(松开后触发)
        }).mousedown(function(e){
        _move1=true;
        _x1=e.pageX-parseInt($("#movFrame1").css("left"));
        _y1=e.pageY-parseInt($("#movFrame1").css("top"));
        $("#movFrame1").fadeTo(20, 0.5);//点击后开始拖动并透明显示
    });
    $(document).mousemove(function(e){
        if(_move1){
            var x=e.pageX-_x1;//移动时根据鼠标位置计算控件左上角的绝对位置
            var y=e.pageY-_y1;
			
			 $("#movFrame3").css({top:y,left:x});//移动遮罩层iframe
			
            $("#movFrame1").css({top:y,left:x});//控件新位置
        }
    }).mouseup(function(){
    _move1=false;
    $("#movFrame1").fadeTo("fast", 1);//松开鼠标后停止移动并恢复成不透明
  });
  
  
});


   /*--------------拖曳效果----------------
	            *原理:标记拖曳状态dragging ,坐标位置iX, iY
	            *         mousedown:fn(){dragging = true, 记录起始坐标位置,设置鼠标捕获}
	            *         mouseover:fn(){判断如果dragging = true, 则当前坐标位置 - 记录起始坐标位置,绝对定位的元素获得差值}
	            *         mouseup:fn(){dragging = false, 释放鼠标捕获,防止冒泡}
            */
/**
 $(function(){
	         
	            var dragging = false;
	            var iX, iY;
	            $("#movFrame").mousedown(function(e) {
	                dragging = true;
	                iX = e.clientX - this.offsetLeft;
	                iY = e.clientY - this.offsetTop;
	                this.setCapture && this.setCapture();
	                return false;
	            });
	            document.onmousemove = function(e) {
	                if (dragging) {
	                var e = e || window.event;
	                var oX = e.clientX - iX;
	                var oY = e.clientY - iY;
	                $("#movFrame").css({"left":oX + "px", "top":oY + "px"});
	                return false;
	                }
	            };
	            $(document).mouseup(function(e) {
	                dragging = false;
	                $("#movFrame")[0].releaseCapture();
	                e.cancelBubble = true;
	            })
	 
	        })


*/
</script>
</head>
<body>
    <div style="text-align: center;">
        <script language="JavaScript" type="text/javascript">
            document.write("<object id='ERSPlayer' style'top:100px;left:160px; width:747px; height:280px;' classid='clsid:1282AAB8-8AB0-473A-8E67-C95A4D5796C8'>");
            document.write("<param name='ftpServerIP' value='10.8.59.194' />");
            document.write("<param name='strCulture' value='en-us' />");
            document.write("<param name='curPageTitle' value='ERSplayer' /></object>");
        </script>
    </div>
<div id="movFrame"style="top:10px;left:60px;background:gray;position:absolute;width:600px;height:360px;">
	<div id="movBar" style="width:600px;height:60px;background:green;cursor:move;">
	</div>
	<div id="content" style="width:600px;height:300px;background:blue;">
		<iframe id='divIframe' style="left: 0px; top: 0px;width:600px;height:280px;" src="divMoveIframe.html" >
			
		</iframe>
	</div>

</div>

<div id="movFrame1"style="top:100px;left:160px;background:gray;z-index:2;position:absolute;width:600px;height:360px;">
	<div id="movBar1" style="width:600px;height:60px;background:green;cursor:move;">
	</div>
	<div id="content1" style="width:600px;height:300px;background:blue;">

	</div>

</div>

<div id="movFrame3"style="top:100px;left:260px;background:yellow;position:absolute;z-index:1;width:600px;height:361px;">

		<iframe id='divIframe' style="left: 0px; top: 0px;width:600px;height:360px;" src="divMoveIframe1.html" >
			
		</iframe>
</div>
</body>
</html>


图像加密与解密(附matlab代码) 详细介绍了三种图像加密解密原理,并基于matlab开发了一套相应系统。 阅读详情

相关推荐

USB接口ESD防护设计实战:从金属外壳到信号线的完整避坑指南

本文深入探讨USB接口ESD防护设计的实战要点,聚焦金属外壳作为ESD能量泄放关键通道的处理策略。文章详细解析了从外壳接地路径控制、信号线TVS管选型与布局,到PCB分区及电源线滤波等完整设计流程,旨在帮助硬件工程师构建系统级防护,避免常见设计误区,确保产品通过严苛的静电测试。

k8l9m0n的博客 482

海康 安防平台视频插件 弹窗遮挡 问题解决

开始海康插件使用不熟悉,海康插件一直置顶,会把项目的弹窗挡住,最终找到解决办法。1、使用下面方法,可以让海康控件的部分窗体,不显示。2、操作完成后,可使用下面方法,还原回去。

王鹤霖的专栏 三人行必有我师 4182

Windows Server 域控搭建:AD DS 规划、部署与排障实战

活动目录(AD DS)是 Windows Server 中用于集中管理账号、计算机与策略的核心目录服务,其底层依赖 DNS、Kerberos 和 LDAP 完成身份认证与资源定位。通过域控制器统一身份、组策略和权限边界,企业可显著降低多机环境下账号维护、权限分配与审计成本。十几到上百台终端、有共享隔离与合规要求的局域网,通常适合部署域控;小规模环境则未必划算。围绕域名规划、DNS 指向、OU 设计、FSMO、备份恢复和常见加域故障,域控搭建与 AD 运维需要兼顾前期规划与长期排障,才能让 Windows S

weixin_33845881的博客 762

网页上的元素(对话框)被ActiveX控件遮挡住,怎么把它显示出来呢?

查了这么多资料,大都很模糊,没有解决控件遮挡问题,说什么z-index之类的,都没说到点子上或者原理性东西,终于查到了这篇博文,发现其中讲解了原理东西,从窗口元素和五窗口元素就行区分就了解了为啥出现遮挡问题了。 说到这个问题,那就要先了解网页上的元素分为几种? 一般来说,分为有窗口元素和无窗口元素, 有窗口 元素大概有以下几种: <object>、ActiveX控件、Plu...

MFWSCQ的博客 1529

计算机网络简答题

协议定义了在两个或多个通信实体之间交换的报文格式和顺序,以及发送接收报文以及其他事件需要采取的操作。为。

m0_61636632的博客 1700

C语言|深入浅出讲解int转换为float全过程(附2017年统考大题案例)

int转换为float类型为什么会发生精度损失? 精度损失的详细过程究竟是什么样的? 什么样情况float会发生精度损失?没有弄懂2017年浮点数统考大题? 这一篇用2017年统考大题案例帮你更深的理解浮点数的存储规则。

DADONGOOO的博客 1万+

解决Active控件的遮挡问题

网上有一些解决方法,比如说用frame的方式,又如flash插件可以用设置特定属性解决,这里解决的是Active的遮挡问题,例如WebOffice控件遮挡了界面的下拉列表,目前发现利用Ext的内置方式可以解决。在页面加载完成后调用Ext.useShims=true;即可解决控件遮

人去留香 1393

从Gitee上部署视觉工程到Linux虚拟机

(使用SVM来识别装甲板的编号,此处手机上的图片中只有灯条没有数字,SVM无法识别出编号。这两行代码的意义是,当SVM识别不出或者识别不到编号时,把装甲板的编号默认为2号。找到自瞄程序中,数字识别类下的这两行代码,把注释去掉。这样,每次打开新的终端时,环境变量都会自动设置。(2)查看虚拟机设置选项,检查虚拟机USB接口是否为3.0及以上的接口。如果不是,要更改好。这样,每次打开新的终端时,环境变量都会自动设置。后,每次打开终端时自动设置这些环境变量,你可以将。打开第一个终端,用来挂ROS的内核启动页面。

2301_81035291的博客 1520

使用ActiveX插件时object显示问题,div被object标签遮挡的解决方案

浏览器中object显示问题起因解决方案方法一: 直接设置属性值方法二:iframe结论 起因 设计要求视频控制面板显示在视频界面上,如下图红框内所示。但是因为object不在文档流之中,所以不论别的元素设置z-index多高,都只会被object元素遮住而无法看到。 object元素代码如下 <object id="EZUIKit" width="400" height="4...

weixin_44849078的博客 5734

vasp计算练习1-Si

si的vasp训练流程

qq_41074165的博客 3299

CenterPoint 工程复现

CenterPoint 工程复现,本文中使用版本:BEVerse工程下的mmdet3d (`MMDet3d v0.17.3`)版本,MMDetection3D中其他版本的使用`大同小异`。

Darchan的博客 5663

解决ActiveX插件Z-Index属性无效问题

摘要: 在Web开发中我们经常通过z-index设置多个元素之间的层叠关系,这种方式在多数情况下很有效,但是如果遇到有窗体元素时这种方式常常显得无能为力,今天我们就一块看一下如何有效的解决这个问题。 内容: 网页控件分为两大类:有窗体元素和无窗体元素。无窗体元素包括

Kenshin Cui's Blog 3236

【OpenClaw企业级智能体实战】第27篇:Skill生态运营——企业私有Skill商店的搭建与审核机制

2026年ClawHavoc供应链攻击事件曝光超1200个恶意Skill渗透公共技能市场,工信部明确要求企业审慎使用第三方技能包并严格审查代码。本文基于真实安全事件与行业实践,完整讲解企业私有Skill商店从0到1搭建方案,覆盖小团队极简GitLab私有仓库、中大型企业Nacos 3.2私有Registry两种主流架构,配套企业级安全审核四步法、静态代码扫描规则、CI/CD自动化审计、数字签名校验与版本生命周期管理。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 501

ActiveX插件的Z-Index属性无效问题解决

在Web开发中我们经常通过z-index设置多个元素之间的层叠关系,这种方式在多数情况下很有效,但是如果遇到有窗体元素时这种方式常常显得无能为力,今天我们就一块看一下如何有效的解决这个问题。 网页控件分为两大类:有窗体元素和无窗体元素。无窗体元素包括大多数html元素(例如

隋旭峰的专栏 1033

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

flash,activex对resizable,draggable元素的影响及解决方法

在做富客户端的web界面时,为了达到某些特定功能和效果,往往需要使用到flash,activex等插件元素。随之而来的问题也不可避免。当页面存在resizable,draggable等元素时,它们的功能可能会受到影响。究其原因,在于flash,activex元素和页面中如div元

恍惚窈冥 718

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

今天遇到一个Extjs窗口层次问题,找了半天找到一篇有用的

在Web开发中我们经常通过z-index设置多个元素之间的层叠关系,这种方式在多数情况下很有效,但是如果遇到有窗体元素时这种方式常常显得无能为力,今天我们就一块看一下如何有效的解决这个问题。  网页控件分为两大类:有窗体元素和无窗体元素。无窗体元素包括大多数html元素(例如div、table等)、无窗体的ActivX插件、iframe等;有窗体的元素包括元素、ActiveX插件、Plug-

841

PDF将弹出窗口遮挡的问题(<div> layer on top of PDF)

      之前也做过在线显示PDF的任务,这次的比较棘手:PDF的组件将弹出窗口挡住了。       想过好几种解决办法,最后终于找到一个比较好的解决办法:       下面重新理一理这两天尝试过的一些方法:       (1)改变PDF的样式,就是使用z-index来控制。         这无疑是首先想到的方法。无奈从网上搜了很久,也不知道用来显示PDF的&lt;object&gt...

iteye_14074的博客 1449

IE下object元素遮挡div表单

目前遇到这样的一个问题: 我用ActiveX插件做了一个C#的播放器,要将这个插件放到web浏览器中,然后可以通过前台页面来控制视频的播放,暂停还有回放,这个时候发现object的onclick事件无法相应,一搜索,确实是这样。那么怎么办呢?万能的搜索啊,终于有两种解决方案: 1,js监听ActiveX控件的行为。(按照网上给的,行不通,监听失败,原因是很多都是10年左右用vc++写的ocx插...

weixin_30326515的博客 489

基于Jquery的iframe遮罩层插件,可以遮挡flash。此插件在“爱乐网址收藏夹”中使用...

Demo地址:[url]http://www.sohoqd.com/alterdemo/demoIfm/IfmMaskDemo.html[/url] [code="java"]/* * IfmMask 1.1 * Copyright (c) 2010 Alterhz http://www.alterteam.cn * Date: 2010-5-3 * 运用iframe元素添加的...

Alterhz 293

Excel图片交互:从零代码到VBA实现单击放大与平滑动画

在数据可视化与报表制作中,提升用户体验是核心诉求。图片交互作为关键功能,其原理在于通过事件驱动模型响应用户操作,实现动态内容展示。这项技术能显著提升数据呈现的效率和专业性,尤其在质检报告、产品目录等需要频繁核对图片的场景中价值突出。通过Excel VBA编程,可以构建从基础单击放大到带平滑动画的增强交互,其中事件处理和对象模型是技术实现的基础。本文聚焦Excel图片交互,详细拆解了零代码取巧方案与VBA自动化方案,并深入探讨了如何利用VBA事件和形状控制实现流畅的单击放大缩小功能,为数据报表的交互式设计提供

weixin_30417487的博客 438

html 遮罩 activex控件_Smobiler APP开发----ToolBar控件 - 代码如风~~~

ToolBar控件制作APP首页的标题栏最为合适,官方给的例子也是利用ToolBar做的标题栏。下面就说一下ToolBar在实际开发中的应用。官方文档给的ToolBar的属性和说明:新建一个From,添加ToolBar组件:向ToolBar添加标题栏,ToolBar有一个属性Items集合,向Items集合中填充标题内容。点击添加:外观属性栏字段:IconColor:标题栏...

weixin_39553805的博客 179
上一篇: 纯js可移动DIV
下一篇: windows下脚本设置安全站点及其他(bat)
hhhh2012
博客等级 码龄15年 8粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值