1
<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.”)。那么,我做错了什么?

4

1 回答 1

1

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

_wr_l(_wr_d);

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

于 2012-12-08T09:16:19.897 回答