zoukankan      html  css  js  c++  java
  • 前端代码笔记

    /*
    Developed by Robert Nyman, http://www.robertnyman.com
    Code/licensing: http://code.google.com/p/getelementsbyclassname/
    */
    var getElementsByClassName = function (className, tag, elm) {
    if (document.getElementsByClassName) {
    getElementsByClassName = function (className, tag, elm) {
    elm = elm || document;
    var elements = elm.getElementsByClassName(className),
    nodeName = (tag) ? new RegExp("\b" + tag + "\b", "i") : null,
    returnElements = [],
    current;
    for (var i = 0, il = elements.length; i < il; i += 1) {
    current = elements[i];
    if (!nodeName || nodeName.test(current.nodeName)) {
    returnElements.push(current);
    }
    }
    return returnElements;
    };
    }
    else if (document.evaluate) {
    getElementsByClassName = function (className, tag, elm) {
    tag = tag || "*";
    elm = elm || document;
    var classes = className.split(" "),
    classesToCheck = "",
    xhtmlNamespace = "http://www.w3.org/1999/xhtml",
    namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace) ? xhtmlNamespace : null,
    returnElements = [],
    elements,
    node;
    for (var j = 0, jl = classes.length; j < jl; j += 1) {
    classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
    }
    try {
    elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
    }
    catch (e) {
    elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
    }
    while ((node = elements.iterateNext())) {
    returnElements.push(node);
    }
    return returnElements;
    };
    }
    else {
    getElementsByClassName = function (className, tag, elm) {
    tag = tag || "*";
    elm = elm || document;
    var classes = className.split(" "),
    classesToCheck = [],
    elements = (tag === "*" && elm.all) ? elm.all : elm.getElementsByTagName(tag),
    current,
    returnElements = [],
    match;
    for (var k = 0, kl = classes.length; k < kl; k += 1) {
    classesToCheck.push(new RegExp("(^|\s)" + classes[k] + "(\s|$)"));
    }
    for (var l = 0, ll = elements.length; l < ll; l += 1) {
    current = elements[l];
    match = false;
    for (var m = 0, ml = classesToCheck.length; m < ml; m += 1) {
    match = classesToCheck[m].test(current.className);
    if (!match) {
    break;
    }
    }
    if (match) {
    returnElements.push(current);
    }
    }
    return returnElements;
    };
    }
    return getElementsByClassName(className, tag, elm);
    };
    
    function getUrlVars() {
    var vars = {};
    var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
    vars[key] = value;
    });
    return vars;
    }
    
    function addSid(target) {
    // URL params pass for CTA buttons
    
    var locationUrl = window.location.href;
    var urlParams = locationUrl.substring(locationUrl.indexOf('?')+1);
    
    var sid = getUrlVars()["sid"];
    
    if (urlParams != '' && typeof(sid) != "undefined") {
    
    for(t in target) {
    var currentHref = target[t].getAttribute('href');
    if (currentHref.indexOf('?') == -1){
    var endingSlash = '';
    if (currentHref.substr(currentHref.length - 1) != '/') { endingSlash = '/'; }
    target[t].setAttribute('href', currentHref+endingSlash+'?sid='+sid);
    } else {
    target[t].setAttribute('href', currentHref + '&sid=' + sid);
    }
    }
    }
    for(t1 in target) {
    currentHref = target[t1].getAttribute('href');
    if (currentHref.indexOf('HTTP_REFERER') != -1) {
    if (document.referrer && document.referrer != 'undefined') {
    currentHref = currentHref.replace('HTTP_REFERER', document.referrer);
    } else {
    currentHref = currentHref.replace('HTTP_REFERER', '');
    }
    }
    if (currentHref.indexOf('HTTP_HOST') != -1) {
    if (window.location.hostname && window.location.hostname != 'undefined') {
    currentHref = currentHref.replace('HTTP_HOST', window.location.hostname);
    } else {
    currentHref = currentHref.replace('HTTP_HOST', '');
    }
    }
    target[t1].setAttribute('href', currentHref);
    }
    };
  • 相关阅读:
    MapReduce的工作机制
    1023. Have Fun with Numbers (20)
    Javascript MVC 学习笔记(二) 控制器和状态
    Chapter 1 Securing Your Server and Network(5):使用SSL加密会话
    《MySQL必知必会学习笔记》:子查询
    C# 打开指定的目录 记住路径中 / 与 的使用方法
    JAVA虚拟机、Dalvik虚拟机和ART虚拟机简要对照
    应届生面试准备之道
    一致性hash
    android 关于listview scrollview 底部 控件无法显示的两个解决方案
  • 原文地址:https://www.cnblogs.com/ffjiang/p/6362026.html
Copyright © 2011-2022 走看看