<script src="http://cdn.webrupee.com/js" type="text/javascript"></script>


我正在对上面的WebRupee脚本进行本地化,以便所有内容(JS,CSS,字体文件)都直接从我的服务器加载。

这是JS文件中的美化代码:

var _wr_load = window.onload;
window.onload = function () {
    if (typeof (_wr_load) == "function") {
        _wr_load()
    }
    _wr_d = document;
    _wr_l(_wr_d);
    _wr_i(_wr_d.body);
    _wr_re(_wr_d.body)
};
_wr_l = function (f) {
    var d = f.createElement("link");
    d.type = "text/css";
    d.rel = "stylesheet";
    d.href = "http://cdn.webrupee.com/font";
    var e = f.getElementsByTagName("head")[0];
    e.appendChild(d)
};
_wr_i = function (g) {
    var c = g.childNodes;
    var f = c.length;
    for (var h = 0; h < f; h++) {
        if (c[h].nodeType == 3) {
            if (!c[h].nodeValue.match(/^[\s]*$/)) {
                r = c[h].nodeValue;
                r = r.replace(/\s(Rs|Rs\.)\s/gi, " Rs. ");
                r = r.replace(/^(Rs|Rs\.)\s/gi, " Rs. ");
                r = _we_reg(r, /\sRs\.[0-9]+\s/gi, /(Rs\.)/gi);
                r = _we_reg(r, /^Rs\.[0-9]+$/gi, /Rs\./gi);
                r = _we_reg(r, /^Rs\.[0-9,]+[0-9]$/gi, /Rs\./gi);
                r = _we_reg(r, /^Rs\.[0-9,]+[0-9]\s/gi, /Rs\./gi);
                r = _we_reg(r, /\sRs\.[0-9,]+[0-9]\s/gi, /Rs\./gi);
                r = _we_reg(r, /\sRs\.[0-9,]+[0-9]\./gi, /Rs\./gi);
                r = _we_reg(r, /^Rs\.[0-9,]+[0-9]\./gi, /Rs\./gi);
                r = _we_reg(r, /\sRs\.[0-9,]+[0-9]\//gi, /Rs\./gi);
                r = _we_reg(r, /^Rs\.[0-9,]+[0-9]\//gi, /Rs\./gi);
                r = _we_reg(r, /\sRs\.[0-9,]+[0-9]/gi, /Rs\./gi);
                c[h].nodeValue = r
            }
        } else {
            if (c[h].nodeName.toLowerCase() != "script") {
                _wr_i(c[h])
            }
        }
    }
};
_we_reg = function (f, a, b) {
    var c = new RegExp(a);
    var e = c.exec(f);
    while (e != null) {
        var d = String(e);
        d = d.replace(b, " Rs. ");
        f = f.replace(e, d);
        e = c.exec(f)
    }
    return f
};
_wr_re = function (k) {
    var c = 0;
    if (k.nodeType == 3) {
        var n = k.data.indexOf(" Rs. ");
        if (n >= 0) {
            var m = document.createElement("span");
            m.className = "WebRupee";
            var e = k.splitText(n);
            var o = e.splitText(5);
            var p = e.cloneNode(true);
            m.appendChild(p);
            e.parentNode.replaceChild(m, e);
            c = 1
        }
    } else {
        if (k.nodeType == 1 && k.childNodes && !/(script|style)/i.test(k.tagName)) {
            for (var l = 0; l < k.childNodes.length; ++l) {
                l += _wr_re(k.childNodes[l])
            }
        }
    }
    return c
};


JavaScript代码可以完成一些事情,而我最感兴趣的一件事是,它动态地将其添加到HTML中:

<link type="text/css" rel="stylesheet" href="http://cdn.webrupee.com/font">


我想做的是,自己添加link元素,然后从文件中删除当时不必要的相关JavaScript代码。

据我所知,这是一个:

_wr_l = function (f) {
    var d = f.createElement("link");
    d.type = "text/css";
    d.rel = "stylesheet";
    d.href = "http://cdn.webrupee.com/font";
    var e = f.getElementsByTagName("head")[0];
    e.appendChild(d)
};


但是,仅从JS文件中删除该代码段会破坏其功能(即用新的印度卢比符号替换“ Rs。”)。那么,我在做什么错呢?

最佳答案

您已经删除了调用函数的顶部行,对吗?

_wr_l(_wr_d);


(如果删除函数定义_wr_l(),则任何调用该函数的尝试都会失败)。

07-28 02:27
查看更多