首页 web前端 js教程 一个不错的可以检测多中浏览器的函数和其它功能_javascript技巧

一个不错的可以检测多中浏览器的函数和其它功能_javascript技巧

May 16, 2016 pm 07:16 PM

//检查浏览器检测浏览器的函数
var userAgent = navigator.userAgent.toLowerCase();
var is_opera = (userAgent.indexOf('opera')!= -1);
var is_saf    = ((userAgent.indexOf('applewebkit') != -1) || (navigator.vendor == 'Apple Computer, Inc.'));
var is_webtv = (userAgent.indexOf('webtv')!= -1);
var is_ie     = ((userAgent.indexOf('msie') != -1) && (!is_opera) && (!is_saf) && (!is_webtv));
var is_ie4    = ((is_ie) && (userAgent.indexOf('msie 4.') != -1));
var is_moz    = ((navigator.product == 'Gecko') && (!is_saf));
var is_kon    = (userAgent.indexOf('konqueror') != -1);
var is_ns     = ((userAgent.indexOf('兼容') == -1) && (userAgent.indexOf('mozilla') != -1) && (!is_opera) && (!is_webtv) && (!is_saf) ));
var is_ns4    = ((is_ns) && (parseInt(navigator.appVersion) == 4));
var is_mac    = (userAgent.indexOf('mac') != -1);

//全局寄存器
var currentblogid;
var currentstarid;
var currentcommentid;
var switchcomandmes;
var securitycodejs=null;
var onetimecounter=1;

//获取绝对路径,修复IE设置基本路径时的bug
var gotourl = location.href;
var absbaseurl;
var abspath;
var r_identifier=gotourl.lastIndexOf("/read.php/");
var r_identifier2=gotourl.lastIndexOf("/post/");
var r_identifier3=gotourl.lastIndexOf("/tag/");
if (r_identifier==-1) {
    r_identifier=r_identifier2;
}
if (r_identifier==-1) {
    r_identifier=r_identifier3;
}
if (r_identifier!=-1) {
    absbaseurl = gotourl.substr(0, r_identifier) "/";
    var simplegotourl=absbaseurl.replace("http://", '');
    r_identifier2=simplegotourl.indexOf("/");
    abspath=simplegotourl.substr(r_identifier2 1);
} 其他 {
    absbaseurl='';
    abspath=null;
}
//是否支持Ajax?
if ((is_ie & !is_ie4) || is_moz || is_saf || is_opera) var shutajax=0;
其他varshutajax = 1;

//对于 Firefox,告诉 Firefox 不要显示您在上一个会话中输入的内容
if (is_moz) {
    var tmp_c=document.getElementById('v_content');
    if (tmp_c) tmp_c.value='';
}

//显示/隐藏 p
function showhidep(id){
  try{
    var panel=document.getElementById(id);
    if(panel){
      if(panel.style.display=='none'){
        panel.style.display='block';
      }其他{
        panel.style.display='none';
      }
    }
  }catch(e){}
}

function addhtml (id, htmlcode, uniqueid) {
    var panel=document.getElementById(id) ;
    var hiddenpannel=document.getElementById(uniqueid);
    if(panel){
        hiddenpannel.value='';
        hiddenpannel.value=panel.innerHTML;
        panel.innerHTML=hiddenpannel.value htmlcode;
        hiddenpannel.value = htmlcode;
    }
}

函数 showadminreply (pid) {
    switchcomandmes='回复';
    var cleanid=pid.replace('com_', '');
    var inputcontent="";
    inputcontent =jslang[0] "
< ;br/>”;
    inputcontent =" <输入 type='button' value='" jslang[3] "' onclick="hideadminreply('" pid "');" class='button'/>";
    document.getElementById(pid).innerHTML=inputcontent;
    document.getElementById(pid).style.display='block';
}

函数 showadminreplyformessage (pid) {
    switchcomandmes='message';
    var cleanid=pid.replace('com_', '');
    var inputcontent="";
    inputcontent =jslang[0] "
< ;br/>”;
    inputcontent =" <输入 type='button' value='" jslang[3] "'  onclick="hideadminreply('" pid "');" class='button'/>";
    document.getElementById(pid).innerHTML=inputcontent;
    document.getElementById(pid).style.display='block';
}

函数 hideadminreply (pid) {
    document.getElementById(pid).innerHTML='';
    document.getElementById(pid).style.display='none';
}

函数 showdelblog(blogid) {
    var urldel=absbaseurl "admin.php?go=entry_deleteblog_" blogid '';
    if(confirm(jslang[4])){
        window.location=urldel;
    }
    其他 {
        返回;
    }
}

function comfirmurl(urldel) {
    if(confirm(jslang[5])){
        window.location=absbaseurl urldel;
    }
    其他 {
        返回;
    }
}

function showdeladminreply(repid) {
    var urldel=absbaseurl "admin.php?go=reply_deladminreply_" repid '';
    if(confirm(jslang[6])){
        if (shutajax==1) window.location=urldel;
        其他 {
            urldel ="&ajax=on";
            currentcommentid=repid;
            makeRequest(urldel, 'quickdeladminreply', 'GET', null);
        }
    }
    其他 {
        返回;
    }
}

function showdeladminreplyformessage(repid) {
    var urldel=absbaseurl "admin.php?go=message_deladminreply_" repid '';
    if(confirm(jslang[7])){
        if (shutajax==1) window.location=urldel;
        其他 {
            urldel ="&ajax=on";
            currentcommentid=repid;
            makeRequest(urldel, 'quickdeladminreply', 'GET', null);
        }
    }
    其他 {
        返回;
    }
}

function showdelreply(repid, blogid) {
    var urldel=absbaseurl "admin.php?go=reply_delreply_" repid '-' blogid;
    if(confirm(jslang[8])){
        if (shutajax==1) window.location=urldel;
        其他 {
            urldel ="&ajax=on";
            currentcommentid=repid;
            makeRequest(urldel, 'quickdelreply', 'GET', null);
        }
    }
    其他 {
        返回;
    }
}

function showdelreplyformessage(repid) {
    var urldel=absbaseurl "admin.php?go=message_delreply_" repid;
    if(confirm(jslang[9])){
        if (shutajax==1) window.location=urldel;
        其他 {
            urldel ="&ajax=on";
            currentcommentid=repid;
            makeRequest(urldel, 'quickdelreply', 'GET', null);
        }
    }
    其他 {
        返回;
    }
}

function showblockreply(repid, blogid) {
    var urldel=absbaseurl "admin.php?go=reply_block_" repid '-' blogid;
    if (shutajax==1) window.location=urldel;
    其他 {
        urldel ="&ajax=on";
        currentcommentid=repid;
        makeRequest(urldel, 'quickdelreply', 'GET', null);
    }
}

function showblockmessage(repid) {
    var urldel=absbaseurl "admin.php?go=message_block_" repid;
    if (shutajax==1) window.location=urldel;
    其他 {
        urldel ="&ajax=on";
        currentcommentid=repid;
        makeRequest(urldel, 'quickdelreply', 'GET', null);
    }
}

/* -- AJAX 相关函数 -- */
//主演
函数 dostar(blogid) {
    if (shutajax==0) {
        gourl=absbaseurl "admin.php?go=star&ajax=on&blogid=" blogid;
        currentblogid=blogid;
        currentstarid="starid" blogid;
        makeRequest(gourl, 'starblog', 'GET', null);
    } else {
        gourl=absbaseurl "admin.php?go=star&ajax=off&blogid=" blogid;
        window.location=gourl;
    }
}

//评论和消息
function ajax_submit (job) {
    var stat_html = document.getElementById('stat_html').checked ? 1:0;
    var stat_ubb = document.getElementById('stat_ubb').checked? 1:0;
    var stat_emot = document.getElementById('stat_emot').checked ? 1:0;
    var stat_property = document.getElementById('stat_property').checked ? 1:0;
    var v_replier = document.getElementById('v_replier').value ' ';
    var v_repurl = document.getElementById('v_repurl').value;
    var v_repemail = document.getElementById('v_repemail').value;
    var v_content = document.getElementById('v_content').value ' ';
    var v_password = document.getElementById('v_password').value;
    var v_id = document.getElementById('v_id').value;
    var v_reppsw = (document.getElementById('v_reppsw')) ? document.getElementById('v_reppsw').value : '';
    var v_security_plus;
    if (document.getElementById('v_security')) {
        var v_security = document.getElementById('v_security').value;
        if (v_security=='') {
            alert(jslang[10]);
            返回 false;
        }
        v_security_plus="&v_security=" v_security;
    } 其他 {
        v_security_plus='';
    }
    if (v_replier=='' || v_content==''|| v_replier==' ' || v_content==' ' ) {
        alert(jslang[11]);
        返回 false;
    }
    document.getElementById('btnSubmit').value=jslang[12];
    document.getElementById('btnSubmit').disabled='disabled';
    if (shutajax==0) { //目前适用于 IE、Safari、Mozilla 和 Opera
        v_replier = blogencode(v_replier);
        v_repurl = blogencode(v_repurl);
        v_repemail = blogencode(v_repemail);
        v_content = blogencode(v_content);
        v_password = blogencode(v_password);
        v_id = blogencode(v_id);
        v_reppsw = blogencode(v_reppsw);
        var postData = “unuse=unuse&onetimecounter=”onetimecounter”&v_id=“v_id”&v_replier=“v_replier”&v_password=“v_password”&v_repurl=“v_repurl”&v_repemail=“v_repemail”&v_content=“v_content”&stat_html=“stat_html”&stat_ubb =“stat_ubb”&stat_emot=“stat_emot”&v_reppsw=“v_reppsw”&stat_property=“stat_property v_security_plus;
        var gourl=absbaseurl "visit.php?ajax=on&job="job;
        makeRequest(gourl, 'quickreply', 'POST', postData);
    } else {
        document.getElementById('visitorinput').submit();
    }
}

//Ctrl Enter 键提交(Textarea)
function ctrlenterkey (eventobject){
    if(eventobject.ctrlKey && eventobject.keyCode==13) {
        document.getElementById("btnSubmit").click();
    }
}

//管理员回复
function ajax_adminreply (commentid) {
    if (shutajax==0) {
        var admid='adminreplycontent' commentid;
        var adminreplycontent = blogencode(document.getElementById(admid).value);
        var postData = “unuse=unuse&adminreplycontent=”adminreplycontent;
        var gourl=absbaseurl "admin.php?ajax=on&go=" switchcomandmes "_addadminreply_" commentid;
        currentcommentid=commentid;
        makeRequest(gourl, 'quickadminreply', 'POST', postData);
    } else {
        var admid='formadminreply' commentid;
        document.getElementById(admid).submit();
    }
}

function ajax_adminreply_edit (commentid, rptype) {
    switchcomandmes=rptype;
    ajax_adminreply(commentid);
}

function ajax_editcomment(repid, submitaction, onetimecounter) {
    var admid='editcomcontent' repid;
    var v_content = blogencode(document.getElementById(admid).value);
    var editjob=(submitaction=='回复') ? 'editreply' : '编辑消息';
    var postData = “unuse=unuse&onetimecounter=”onetimecounter”&v_content=”v_content;
    var gourl=absbaseurl "visit.php?ajax=on&go=" editjob "&repid=" repid;
    currentcommentid=repid;
    makeRequest(gourl, 'quickeditcomment', 'POST', postData);
}


//编码字符串
function blogencode (str) {
    str=encodeURIComponent(str);
    if (is_moz) str=str.replace(/ /g,” "); //在 IE 中,新行编码为 rn,而在 Mozilla 中为 n
    return str;
}

//头像选择
function changeavatar (slname, area ) {
    var current=document.getElementById(slname);
    var realvalue=current.options[current.selectedIndex].value;
    var areashow=document.getElementById(area);
    if ( areashow) {
        if (realvalue!='' && realvalue!=null) {
            areashow.innerHTML="" ;
        }
        else {
           areashow.innerHTML=jslang[13];
        }
    }
}

//插入表情s
函数插入( emotcode) {
    var current=document.getElementById('v_content');
    var emot="[emot]" emotcode "[/emot]"
    if {
        if ( current.value!='' && current.value!=null) {
            当前.值=emot;
        }
        其他 {
            current.value=emo;
        }
        document.getElementById('v_content').focus();
    }
}

// 显示/隐藏侧边栏
function showHideSidebar(){
  try{
    var objSidebar=document.getElementById("sidebar");
    var objContent=document.getElementById("content");
    if(objSidebar.className!="sidebar-hide"){
      objSidebar.className="sidebar-hide";
      objSidebar.style.display="none";
      objContent.className="content-wide";
      setCookie('sidebaroff', 1,null, null, null, false);
    }其他{
      objSidebar.className="sidebar";
      objSidebar.style.display="block";
      objContent.className="content";
      setCookie('sidebaroff', 0,null, null, null, false);
    }
  }catch(e){}
}

函数 loadSidebar(){
  尝试{
    var objSidebar=document.getElementById("sidebar");
    var objContent=document.getElementById("content");
    var sidebaroff=getCookie ('sidebaroff');
    if(sidebaroff==1){
      objSidebar.className="sidebar-hide";
      objSidebar.style.display="none";
      objContent.className="content-wide";
    }其他{
      objSidebar.className="sidebar";
      objSidebar.style.display="block";
      objContent.className="content";
    }
  }catch(e){}
}




//媒体链接
function playmedia(strID,strType,strURL,intWidth ,intHeight) {
    var objp=document.getElementById(strID);
    if (!objp) 返回 false;
    if (objp.style.display!='none') {
        objp.innerHTML='';
        objp.style.display='none';
    } else {
        objp.innerHTML=makemedia(strType,strURL,intWidth,intHeight,strID);
        objp.style.display='block';
    }
}

//媒体构建
function makemedia (strType,strURL,intWidth,intHeight,strID) {
    var strHtml;
    switch(strType) {
        case 'wmp':
            strHtml="";
            休息;
        案例“swf”:
            strHtml="";
            休息;
        case 'flv':
            var FU = {movie:"images/others/mediaplayer.swf",width:intWidth,height: intHeight,majorversion:"8",build:"0",bgcolor:" #FFFFFF",allowfullscreen:"true",flashvars:"file=" strURL "&fullscreenpage=images/others/fullscreen.html&fsreturnpage=" location.href};UFO.create(FU, strID);
            休息;
        case 'real':
            strHtml="< param name='src' value='" absbaseurl "inc/realplay.php?link=" strURL "'/>;
<对象 classid='clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA' width='" intWidth "' height='44'>< ;param name='autostart' value='true' //>";
            休息;
    }
    return strHtml;
}

//字体大小控制
function doZoom(size) {
    document.getElementById('zoomtext').style.fontSize=size 'px';
}


//Cookie
function setCookie(name,value,expiry,path,domain,secure) {
    var nameString = name   "="   value;
    var expiryString = (expiry == null) ? "" : " ;expires = " expiry.toGMTString();
    var pathString = (path == null) ? “”:“”;路径=“路径;
    var domainString = (path == null) ? “”:“”;域=“域;
    var secureString = (secure) ?";secure" :"";
    document.cookie = nameString  expiryString  pathString  domainString  secureString;
}

函数 getCookie(名称){
    var CookieFound = false;
    var start = 0;
    var end = 0;
    var CookieString = document.cookie;
    var i = 0;

    while (i <= CookieString.length) {
        start = i ;
        结束 = 开始  名称.长度;
        if (CookieString.substring(start, end) == 名称){
            CookieFound = true;
            休息;
        }
        i ;
    }

    if (CookieFound){
        start = end   1;
        end = CookieString.indexOf(";",start);
        if (end < start) end = CookieString.length;
        return unescape(CookieString.substring(start, end));
    }
    返回 "";
}

function deleteCookie(name) {
    var expires = new Date();
    expires.setTime (expires.getTime() - 1);
    setCookie(名称,“删除 Cookie”,过期,null,null,false);
}

function refreshsecuritycode(areaid, inputid) {
    if (document.getElementById(areaid)) {
        var rnds=Math.random();
        document.getElementById(areaid).innerHTML="";
    }
    if (document.getElementById(inputid)) document.getElementById(inputid).value='';
}

function ajax_login () {
    if (shutajax==0) {
        var username = blogencode(document.getElementById('username').value);
        var password = blogencode(document.getElementById('password').value);
        var tmpSavecookie;
        for (var i=1; i            tmpSavecookie='savecookie' i;
            if (document.getElementById(tmpSavecookie).checked) {
                var savecookie = blogencode(document.getElementById(tmpSavecookie).value);
                休息;
            }
        }
        var postData = "unuse=unuse&username="用户名"&password="密码"&savecookie="savecookie;
        if (document.getElementById('securitycode')) postData ="&securitycode=" blogencode(document.getElementById('securitycode').value);
        var gourl=absbaseurl "login.php?ajax=on&job=ajaxverify";
        makeRequest(gourl, 'quicklogin', 'POST', postData);
    }
}

函数quicklogout() {
    setCookie ('userid','',null,null, null, false);
    setCookie ('userpsw','',null,null, null, false);
}

函数quickremember() {
    var v_replier = blogencode(document.getElementById('v_replier').value);
    var v_repurl = blogencode(document.getElementById('v_repurl').value);
    var v_repemail = blogencode(document.getElementById('v_repemail').value);
    var dateObjexp=new Date();
    dateObjexp.setSeconds(3600*24*365);
    if (document.getElementById('stat_rememberme').checked) {
        setCookie ('rem_v_replier', v_replier, dateObjexp, null, null, false);
        setCookie ('rem_v_repurl', v_repurl, dateObjexp, null, null, false);
        setCookie ('rem_v_repemail', v_repemail, dateObjexp, null, null, false);
        setCookie ('rem_v_rememberme', '1', dateObjexp, null, null, false);
    } else {
        setCookie ('rem_v_replier', '', dateObjexp, null, null, false);
        setCookie ('rem_v_repurl', '', dateObjexp, null, null, false);
        setCookie ('rem_v_repemail', '', dateObjexp, null, null, false);
        setCookie ('rem_v_rememberme', '0', dateObjexp, null, null, false);
    }
}

函数decodetburl(str,ishidden,uniqueid){
    var resultstr ='';
    if (ishidden==1) {//隐藏!
        var randomnumber1=Math.floor(Math.random()*10 1);
        var randomnumber2=Math.floor(Math.random()*10 1);
        resultstr="" jslang[66] " " randomnumber1 "    ";
    }
    else {
        var codestr;
        codestr=str.split('%');
        var seed=codestr[0];
        for (var i=1; i            resultstr =String.fromCharCode(codestr[i]-seed);
        }
    }
    return resultstr;
}

function submithiddentbanswer(uniqueid) {
    var randomnumber1=(document.getElementById("qa" uniqueid)) ? parseInt(document.getElementById("qa" uniqueid).innerHTML) : 0;
    var randomnumber2=(document.getElementById("qb" uniqueid)) ? parseInt(document.getElementById("qb" uniqueid).innerHTML) : 0;
    var anssubmited=(document.getElementById("ans" uniqueid)) ? parseInt(document.getElementById("ans" uniqueid).value) : 0;
    if (randomnumber1 randomnumber2!=anssubmited) alert (jslang[67]);
    其他 {
        var resultstr=(document.getElementById("answertb" uniqueid))? document.getElementById("answertb" uniqueid).innerHTML : null;
        resultstr=decodetburl (resultstr, 0, 0);
        if (document.getElementById("showtbq" uniqueid)) document.getElementById("showtbq" uniqueid).innerHTML=resultstr;
    }
}

function getprotectedblog (blogid, way) {
    var blogpsw=blogencode(document.getElementById('entrypsw' blogid).value);
    currentblogid=blogid;
    var postData = "unuse=unuse&job=getcontentonly&way="way"&blogid="blogid"&blogpsw="blogpsw;
    if (shutajax==0) {
        var gourl=absbaseurl "visit.php?ajax=on";
        makeRequest(gourl, 'quickgetprotectedblog', 'POST', postData);
    }
}

function promptreppsw () {
    var pswproperty=document.getElementById('stat_property');
    if (!pswproperty) 返回;
    else if (pswproperty.checked) {
        var pswtxt=prompt(jslang[69],'');
        if (pswtxt==null || pswtxt=='') {
            pswproperty.checked='';
            返回;
        } else {
            if (pswtxt.length>12) {
                alert(jslang[70]);
                promptreppsw();
            }
            document.getElementById('v_reppsw').value=pswtxt;
        }
    } else {
        document.getElementById('v_reppsw').value='';
    }
}

function getprotectedreply (repid, way, onetimecounter) {
    var reppsw=blogencode(document.getElementById('reppsw' repid).value);
    currentcommentid=repid;
    var postData = "unuse=unuse&job=getreplyonly&way="way"&reppsw="reppsw"&repid="currentcommentid"&onetimecounter"onetimecounter;
    if (shutajax==0) {
        var gourl=absbaseurl "visit.php?ajax=on";
        makeRequest(gourl, 'quickeditcomment', 'POST', postData);
    }
}

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
威尔R.E.P.O.有交叉游戏吗?
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何创建和发布自己的JavaScript库? 如何创建和发布自己的JavaScript库? Mar 18, 2025 pm 03:12 PM

文章讨论了创建,发布和维护JavaScript库,专注于计划,开发,测试,文档和促销策略。

如何在浏览器中优化JavaScript代码以进行性能? 如何在浏览器中优化JavaScript代码以进行性能? Mar 18, 2025 pm 03:14 PM

本文讨论了在浏览器中优化JavaScript性能的策略,重点是减少执行时间并最大程度地减少对页面负载速度的影响。

前端热敏纸小票打印遇到乱码问题怎么办? 前端热敏纸小票打印遇到乱码问题怎么办? Apr 04, 2025 pm 02:42 PM

前端热敏纸小票打印的常见问题与解决方案在前端开发中,小票打印是一个常见的需求。然而,很多开发者在实...

如何使用浏览器开发人员工具有效调试JavaScript代码? 如何使用浏览器开发人员工具有效调试JavaScript代码? Mar 18, 2025 pm 03:16 PM

本文讨论了使用浏览器开发人员工具的有效JavaScript调试,专注于设置断点,使用控制台和分析性能。

谁得到更多的Python或JavaScript? 谁得到更多的Python或JavaScript? Apr 04, 2025 am 12:09 AM

Python和JavaScript开发者的薪资没有绝对的高低,具体取决于技能和行业需求。1.Python在数据科学和机器学习领域可能薪资更高。2.JavaScript在前端和全栈开发中需求大,薪资也可观。3.影响因素包括经验、地理位置、公司规模和特定技能。

如何使用源地图调试缩小JavaScript代码? 如何使用源地图调试缩小JavaScript代码? Mar 18, 2025 pm 03:17 PM

本文说明了如何使用源地图通过将其映射回原始代码来调试JAVASCRIPT。它讨论了启用源地图,设置断点以及使用Chrome DevTools和WebPack之类的工具。

如何使用JavaScript将具有相同ID的数组元素合并到一个对象中? 如何使用JavaScript将具有相同ID的数组元素合并到一个对象中? Apr 04, 2025 pm 05:09 PM

如何在JavaScript中将具有相同ID的数组元素合并到一个对象中?在处理数据时,我们常常会遇到需要将具有相同ID�...

console.log输出结果差异:两次调用为何不同? console.log输出结果差异:两次调用为何不同? Apr 04, 2025 pm 05:12 PM

深入探讨console.log输出差异的根源本文将分析一段代码中console.log函数输出结果的差异,并解释其背后的原因。�...

See all articles