我是一名不从事计算机科学或编程的学生,但我一直在寻找一个外国人的父母的脚本,不懂互联网术语。
我在userscripts.org上找到了以下脚本(全部归功于作者),它就像一个魅力。但是,我的父母太顽固,无法从IE9切换到Chrome或Firefox,所以我下载了IE7Pro并在那里安装了脚本。
这里的问题是IE9上安装的用户脚本似乎根本不起作用,我试图找出原因。对于Chrome / Firefox和Internet Explorer,javascript是否存在基本差异?
如何修复这些以使其在IE中运行?我只参加了一个C级编程课程并且在这个领域没有什么经验,所以如果有人能够简单地向我解释它会很棒。
以下是供参考的代码,如果有人可以指出它不起作用的地方/原因,那将是很有帮助的。它不会太长,它将节省我无数个小时的学习我不需要学习的东西。非常感谢你。
var words = {
///////////////////////////////////////////////////////
// Syntax: 'Search word' : 'Replace word',
"your a": "you're a",
"im*o": "in my honest opinion",
///////////////////////////////////////////////////////
"": ""
};
//////////////////////////////////////////////////////////////////////////////
// This is where the real code is
// Don't edit below this
//////////////////////////////////////////////////////////////////////////////
// prepareRegex by JoeSimmons
// Used to take a string and ready it for use in new RegExp()
String.prototype.prepareRegex = function () {
return this.replace(/([\[\]\^\&\$\.\(\)\?\/\\\+\{\}\|])/g, "\\$1");
};
// Function to decide whether a parent tag will have its text replaced or not
function isOkTag (tag) {
return (
new RegExp (
"(," + tag + ",) | (," + tag + "$)",
"g"
).test (",pre,blockquote,code,input,button,textarea")
) == false;
}
// Convert the "words" JSON object to an Array
var regexs = new Array(),
replacements = new Array();
for (var word in words) {
if (word != "") {
regexs.push (new RegExp (word.prepareRegex ().replace (/(\\)?\*/g, function (e) {
return ((e !== "\\*") ? "[^ ]*" : "*");
} ), "gi"));
replacements.push (words[word]);
}
}
// Do the replacement
var texts = document.evaluate (
".//text()[normalize-space(.)!='']", document.body, null, 6, null
),
text = "",
len = regexs.length;
for (var i = 0, l = texts.snapshotLength; (this_text = texts.snapshotItem(i)); i++) {
if (isOkTag (this_text.parentNode.tagName) && (text = this_text.textContent) ) {
for (var x = 0; x < len; x++) {
text = this_text.textContent = text.replace(regexs[x], replacements[x]);
}
}
}
答案 0 :(得分:0)
document.evaluate。不知道脚本的功能,因此为您的人员安装真正的浏览器可能更容易。
也许jQuery可以帮到你。
答案 1 :(得分:0)
Internet Explorer的用户脚本支持很多,并且很快就会过时。那就是some people have reported some success getting IE7Pro to work with IE9.
但是针对Chrome,Firefox等的IE javascript和javascript可能会有很大差异 There is a whole section, on porting userscripts to IE, in iescripts.org's tutorial (see section 5 especially).
阅读该教程,并按照列出的指南诚实地尝试移植代码。