我已经看过一些关于在javascript中使用.innerHTML的危险的文章(和这里的帖子)。这些示例使用了非常复杂的代码片段,如果它是引起同样问题的补充代码,我就无法解决。
在我的网站上,我在菜单上有一个简单的点击功能,当点击时使用.innerHTML更改单词" menu"到"关闭"然后切换回" menu"再次单击时(以及切换一些简单样式更改的CSS类)。
以下代码是否仍存在安全风险?如果是这样,我应该使用textContent吗?或者,如果innerHTML直接链接到数据库,这种事情只是一个问题吗?
JS
var mobileMenu = false;
function toggleMobileMenu() {
if (mobileMenu === false) {
box.classList.add("active");
button.innerHTML = "Close";
mobileMenu = true;
} else {
box.classList.remove("active")
button.innerHTML = "Menu";
mobileMenu = false;
}
}
button.addEventListener("click", function() {
toggleMobileMenu();
}, false)