JavaScript 代码在 Chrome 控制台中有效,但在 MediaWiki 的 Common.js 文件中无效
JavaScript code works in Chrome console but not in MediaWiki's Common.js file
我安装了希伯来语的 MediaWiki 1.32.0,然后我 运行 在 Chrome 控制台中输入了以下代码:
window.setTimeout(()=>{
const [...elements] = document.getElementsByTagName("*");
elements.forEach((element) => {
if (element.textContent == "hebrewTextContent") {
element.textContent = "englishTextContent";
}
});
});
代码在 Chrome 控制台中运行良好 - 希伯来语措辞已更改为英语;
然而,当我在 MediaWiki 的 Common.js
中保存文件时,它不起作用:
- MediaWiki 1.32.0 没有任何缓存
- 清除浏览器缓存没有帮助
- Chrome 控制台中没有弹出相关错误
- MediaWiki developers didn't recognize a specific problem
什么可能导致问题?
当我尝试通过浏览器 运行 它时,它向我输出了这个错误:
Expected an identifier and instead saw '...'.
Expected ',' and instead saw '...'.
相反,请使用此代码,它完全符合您的要求:
编辑
function toArray(arr) { return Array.isArray(arr) ? arr : Array.from(arr); }
window.setTimeout(function () {
var document1 = document.getElementsByTagName("*");
var document2 = toArray(document1);
var elements = document2;
elements.forEach(function (element) {
if (element.textContent == "hebrewTextContent") {
element.textContent = "englishTextContent";
}
});
});
我安装了希伯来语的 MediaWiki 1.32.0,然后我 运行 在 Chrome 控制台中输入了以下代码:
window.setTimeout(()=>{
const [...elements] = document.getElementsByTagName("*");
elements.forEach((element) => {
if (element.textContent == "hebrewTextContent") {
element.textContent = "englishTextContent";
}
});
});
代码在 Chrome 控制台中运行良好 - 希伯来语措辞已更改为英语;
然而,当我在 MediaWiki 的 Common.js
中保存文件时,它不起作用:
- MediaWiki 1.32.0 没有任何缓存
- 清除浏览器缓存没有帮助
- Chrome 控制台中没有弹出相关错误
- MediaWiki developers didn't recognize a specific problem
什么可能导致问题?
当我尝试通过浏览器 运行 它时,它向我输出了这个错误:
Expected an identifier and instead saw '...'.
Expected ',' and instead saw '...'.
相反,请使用此代码,它完全符合您的要求:
编辑
function toArray(arr) { return Array.isArray(arr) ? arr : Array.from(arr); }
window.setTimeout(function () {
var document1 = document.getElementsByTagName("*");
var document2 = toArray(document1);
var elements = document2;
elements.forEach(function (element) {
if (element.textContent == "hebrewTextContent") {
element.textContent = "englishTextContent";
}
});
});