关于页面在浏览器端多个问题的处理(javascript)

来源:互联网 发布:淘宝联盟加油升级 编辑:程序博客网 时间:2024/05/16 01:13

 

以下大多是javascript控制页面操作的方法。

 

18、控制页面元素的class属性。
    使用点号控制可以适合IE6,FF2,FF3。
    代码如下:
         alert(this.className);
-------------------------------------------------
17、当div被select影响时,要在div显示的相同位置放置一个iframe,并用zIndex使iframe在div的下面即可。代码如下
 var boardDivObj=document.createElement("div");//放置要显示的div,iframe的容器。
     boardDivObj.setAttribute("id","boarddiv");
     //设置显示的位置参数
     boardDivObj.style.width="194px";
     boardDivObj.style.height="122px";
     boardDivObj.style.marginTop="-510px";
     boardDivObj.style.marginLeft="100px";
     boardDivObj.style.position="absolute";
   
     var conDivObj=document.createElement("div");
     conDivObj.style.zIndex=100;//必须写
     conDivObj.style.width=boardDivObj.style.width;//必须写
     conDivObj.style.height=boardDivObj.style.height;//必须写
     conDivObj.style.top="0px";//必须写
     conDivObj.style.left="0px";//必须写
     conDivObj.style.position="absolute";//必须写
     conDivObj.style.backgroundColor="#FFFFFF";
   
     var backif=document.createElement("iframe");
     backif.style.width=boardDivObj.style.width;
     backif.style.height=boardDivObj.style.height;
     backif.style.top="0px";//必须写
     backif.style.left="0px";//必须写
     backif.style.position="absolute";//必须写
     backif.style.zIndex=conDivObj.style.zIndex-1;//必须写
     backif.frameBorder="0";
     backif.src="about:blank";
     boardDivObj.appendChild(conDivObj);
     boardDivObj.appendChild(backif);
     document.getElementById(relaObjId).appendChild(boardDivObj);//relaObjId为放置在页面时所属的父元素ID
--------------------------------------------------------------------------------
14、javascript对话框的处理showmodeldialog
以下对IE和FF和区分指的是IE6和FF2,在FF3中已经支持showmodeldialog,效果和在IE6中相同,不用再单独写处理代码。
showmodeldialog只能在IE中使用,FF是不支持的。在showmodeldialog弹出的对话框中写表单时,如果使用服务器控件方式,会提交时再弹出一个窗口。所以为了避免弹出窗口,

在showmodeldialog中的表单不使用服务器控件实现,使用常规的html表单提交方式,在对应的代码文件中写提交后的处理代码。同时还要对页面中的from标签的设置进行修改,首

先在head中的javascript脚本中设置window.name的值(用字符串指定一个名字),然后在from的属性中去掉action,加上target="***",***就是对window.name指定的名字。这样

在对话框中提交表单就不会出现弹出窗口的问题。在提交完表单后,如果要关闭对话框,只要用javascript的window.close()就可以关闭了。对在FF中的对话框,因为不支持

showmodeldialog,所以只能用window.open。但效果是一样的,表单提交的代码和页面上修改都是相同的,所以只要在打开对话框时判断浏览器,用两种不同的方式打开浏览器就

可以了。其它地方的代码是一样的,不用调整。
--------------------------------------------------------------------------
13、由后台代码先页面添加js数组,以传递数据。
Dim csarr As ClientScriptManager = Page.ClientScript
Dim arrstr As String = ""    '数据用逗号  ,   分隔的数组字符串表示
csarr.RegisterArrayDeclaration("realcountdata", arrstr)
----------------------------------------------------------------------------
12、网页定时刷新内容
设置的链接地址可以是当前页面,页面会被完全刷新,不会有缓存问题。
<meta http-equiv="refresh" content="5;url='default.aspx'"/>
5表示时间间隔,单位是秒。url表示要刷新的页面名。
---------------------------------------------------------------------------
11、javascript中eval()
    用于执行由js写成的代码。
--------------------------------------------------------------------------
10、javascript控制DOM中元素的style。
   在DOM中控制style,必须直接对属性进行控制,直接操作属性,不能使用简称。属性名区分大小写。setAttribute方法存在浏览器兼容问题,不能确定其适用范围。
   例:element.style.borderColor表示边框颜色。
--------------------------------------------------------------------------
9、javascript验证邮箱格式的正则表达式
var flagstr=/[a-zA-Z_0-9]{1,}@[a-zA-Z_0-9]{1,}/.{1}[a-zA-Z]{1,}/;
flagstr.test(string);
-----------------------------------------------------------------------------
8、要在showmodaldialog的javascript对话框的自身关闭按钮中添加处理过程。
   方法是在对话框的所在页面的添加window.onunload()=function (){}。就可以在对话框被自身的窗口关闭按钮关闭时执行添加的过程。
-----------------------------------------------------------------------------
7、在操作DOM时,对table标签的子结点操作是不能直接控制tr的,table下是tbody,然后才是tr,最后是td。否则直接控制tr时,只有FF有效,IE是无效的。
---------------------------------------------------------------------------
4、javascript复制生成的代码:
//同时支持IE6和FF2
function copyToClipboard()
    {var ha_txt="";
    var divobj=document.getElementById("cou_id");
divobj.focus();
divobj.select();//选中文本
ha_txt=document.selection.createRange().text//只兼容IE
    if (window.clipboardData) {  
        window.clipboardData.clearData();  
        window.clipboardData.setData("Text", ha_txt); 
        alert('复制代码成功!');
    } else if (navigator.userAgent.indexOf("Opera") != -1) {  
        window.location = ha_txt;  
    } else if (window.netscape) {  
        try {  
            netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");  
        } catch (e) {  
            alert("你使用的FireFox浏览器,复制功能未打开!/n请在浏览器地址栏输入“about:config”并回车。/n然后将“signed.applets.codebase_principal_support”

双击,设置为“true”");  
            return;  
        }  
        var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);  
        if (!clip) return;  
        var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);  
        if (!trans) return;  
        trans.addDataFlavor('text/unicode');  
        var str = new Object();  
        var len = new Object();  
        var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);  
        var copytext = ha_txt;   str.data = copytext; 
        trans.setTransferData("text/unicode", str, copytext.length * 2);  
        var clipid = Components.interfaces.nsIClipboard;  
        if (!clip)   return false;
        clip.setData(trans, null, clipid.kGlobalClipboard);
        alert('复制代码成功!');
        return ; 
    }  
}

 

 

以上内容中如有版权问题,本人会及时删除。

原创粉丝点击