这是我基于jquery的大型语言翻译项目的一小部分。
这是一个小问题/最后一个问题,就是当我的代码在启用时在我的开发服务器上遍历网页上的所有文本节点时。
我正在使用此代码:
// create content object reference for all text nodes
var content = function (node, txt) {
if (txt) {
if (node.textContent) {
node.textContent = txt;
} else if (node.nodeValue) {
node.nodeValue = txt;
}
} else {
return node.textContent ? node.textContent : node.nodeValue;
}
};
在所有文本节点的循环中:
// recursive tree walker
(function (parent) {
var childs = parent.childNodes;
// if childs object has data
if (childs && childs.length) {
var i = childs.length; while (i--) {
// assign node variable to childs object
node = childs[i];
// text node found, do the replacement
if (node.nodeType == 3) {
// assign the current value to a variable
var value = content(node);
// do language translation here code not shown
} else {
arguments.callee(node);
}
}
}
})(document.body);
但问题是它从页面获取javascript作为文本,对于某些节点,我希望防止这种情况发生。
或者有没有办法使用正则表达式删除所有的JavaScript?和/或特殊字符?
谢谢......