原理与大花猫的代码相似,都是利用iframe当div的底,来盖住select:<head>
<style id=s>
<!--
body{font-family:Verdana,宋体;font-size:9pt;color:#ff0099;cursor:default}
table,TD,DIV{font-family:宋体;font-size:9pt;cursor:default}
A{text-decoration: none;color:red} 
.yellow {
BORDER-left: #8a6100 2px solid; BORDER-TOP: #ffe3a4 2px solid; BORDER-LEFT: #ffe3a4 2px solid; COLOR: #ff0099; BORDER-BOTTOM: #8a6100 2px solid; BACKGROUND-COLOR: #e19d00
}
.blue {
BORDER-left: #002200 2px solid; BORDER-TOP: #a6c1df 2px solid; BORDER-LEFT: #a6c1df 2px solid; COLOR: #ffffff; BORDER-BOTTOM: #002200 2px solid; BACKGROUND-COLOR: #3a6ea5
}
.green {
BORDER-left: #002200 2px solid; BORDER-TOP: #b9ffb9 2px solid; BORDER-LEFT: #b9ffb9 2px solid; COLOR: #ff0099; BORDER-BOTTOM: #002200 2px solid; BACKGROUND-COLOR: #008000
}
.menu {
BORDER-left: #000000 2px solid; BORDER-TOP: #ffffff 2px solid; BORDER-LEFT: #ffffff 2px solid; COLOR: #000080; BORDER-BOTTOM: #000000 2px solid; BACKGROUND-COLOR: #d8d8d0
}
.menu1 {
BORDER-left: #000000 2px solid; BORDER-TOP: #adbac9 2px solid; BORDER-LEFT: #adbac9 2px solid; COLOR: #ffffff; BORDER-BOTTOM: #000000 2px solid; BACKGROUND-COLOR: #637994
}
.blue1 {
BORDER-left: #000000 2px solid; BORDER-TOP: #d0ecff 2px solid; BORDER-LEFT: #d0ecff 2px solid; COLOR: #ff0099; BORDER-BOTTOM: #000000 2px solid; BACKGROUND-COLOR: #0099ff
}
.black {
BORDER-left: #000000 2px solid; BORDER-TOP: #d0d0d0 2px solid; BORDER-LEFT: #d0d0d0 2px solid; COLOR: #ffffff; BORDER-BOTTOM: #000000 2px solid; BACKGROUND-COLOR: #ff9900
}
.up{ background-color: #b9ffb9; border-left: 2 solid #A6C1DF;border-left: 2 solid #002200; border-top: 2 solid #A6C1DF; border-bottom: 2 solid #002200 }
.link{font-family:宋体}
.overlink{background-color:highlight;color:highlighttext;font-family:宋体;cursor:default}
.backgroundIframe{
position:absolute;
z-index:199; 
top:expression(this.previousSibling.offsetTop);
left:expression(this.previousSibling.offsetLeft);
height:expression(this.previousSibling.offsetHeight);
width:85;
visibility:expression(this.previousSibling.style.visibility);
}-->
</style>
<script>
function c(css)
{ie5menu.className=css;}
function link(act,txt)
{document.write("<div class=link onMouseOver=this.className='overlink' onMouseOut=this.className='link' style='padding-left:16;padding-top:1;padding-bottom:1' onclick="+act+">"+txt+"</div>")}function showmenuie5(){
var leftedge=document.body.clientWidth-event.clientX-100
var bottomedge=document.body.clientHeight-event.clientY-25
if (leftedge<ie5menu.offsetWidth)
ie5menu.style.left=document.body.scrollLeft+event.clientX-ie5menu.offsetWidth;
else
ie5menu.style.left=document.body.scrollLeft+event.clientX
if (bottomedge<ie5menu.offsetHeight)
ie5menu.style.top=document.body.scrollTop+event.clientY-ie5menu.offsetHeight
else
ie5menu.style.top=document.body.scrollTop+event.clientY
ie5menu.style.visibility="visible"
return false}
function hidemenuie5(){
ie5menu.style.visibility="hidden"}
function pop1(win){
window.open(win,'','')}
</script></head>
<select><option>abcde</select>
<div id=ie5menu class=up style="text-align: left;position: absolute; visibility: hidden; width: 85px; z-index: 200;padding:1px">
<script>
link('youjian()','修改记录');
link('youjian1()','删除记录');
</script>
</div><iframe class="backgroundIframe"></iframe>
<SCRIPT language=JavaScript>
if (document.all&&window.print){
document.oncontextmenu=showmenuie5
document.body.onclick=hidemenuie5}
</SCRIPT>

解决方案 »

  1.   

    google "ActiveX ProgID" 来获取一些资料,一般在注册表的\HKEY_CLASSES_ROOT\键分支下有列举
      

  2.   

    xjdawu(无法界定) :找不到啊。還有沒有其他方法,或者幫我找找啊?救命
      

  3.   

    Office安装后所注册的组件当中,一般其ProgID带11.0的可以看作是Office2003版本的,10.0一般是OfficeXP, 9.0一般是Office2000,不带数字的一般是Office97/95,比如安装了Office2003的机器上,以下ProgID所代表的组件都是支持的OWC.Spreadsheet
    OWC.Spreadsheet.9
    OWC.Spreadsheet.10
    OWC.Spreadsheet.11你可以借助你所要创建的组件的ProgID来进行判断
      

  4.   

    xjdawu(无法界定):==你可以借助你所要创建的组件的ProgID来进行判断如何獲取office 的ProgID?
      

  5.   

    我的检测方法 :function MicrosoftWordTest(){
      var Microsoft=new Object();Microsoft.installed=false;
    Microsoft.version='0.0';if (navigator.plugins && navigator.plugins.length){
    for (x=0; x<navigator.plugins.length; x++){
    if (navigator.plugins[x].description.indexOf('Office') != -1){ Microsoft.version=parseFloat(navigator.plugins[x].description.split('Version')[1]); if (Microsoft.version.toString().length == 1) Microsoft.version+='.0'; Microsoft.installed=true;
    break;
    }
    }
    }
    else if (window.ActiveXObject){ try{
    oOffice=new ActiveXObject('OWC.Spreadsheet.9');
    if (oOffice)
    {
    Microsoft.installed=true;
    Microsoft.version='2000';
    }
    }
    catch(e) {}
    try{
    oOffice=new ActiveXObject('OWC.Spreadsheet.10');
    if (oOffice)
    {
    Microsoft.installed=true;
    Microsoft.version='XP';
    }
    }
    catch(e) {}
    try{
    oOffice=new ActiveXObject('OWC11.Spreadsheet.11');
    if (oOffice)
    {
    Microsoft.installed=true;
    Microsoft.version='2003';
    }
    }
    catch(e) {}
    try{
    oOffice=new ActiveXObject('OWC.Spreadsheet');
    if (oOffice)
    {
    if (!Microsoft.installed){
    Microsoft.installed=true;
    Microsoft.version='5.0/7.0';
    }
    }
    }
    catch(e) {}
    }if (Microsoft.version == 0.0){
    Check_result+="<br>Microsoft Office is NOT installed.";
    }else{
    Check_result+="<br>Microsoft Office version : "+Microsoft.version;
    }}