Facebook's "-cx-PRIVATE "前缀它的CSS类名,防止Greasemon

Are Facebook's "-cx-PRIVATE-" prefix for its CSS class names, protected against Greasemonkey type userscripts?

本文关键字:quot 类名 CSS 防止 Greasemon 前缀 -cx-PRIVATE Facebook      更新时间:2023-09-26

Facebook已经开始使用"-cx- private -"作为他们网站上许多CSS类名的命名前缀。

这似乎是对Greasemonkey类型的用户脚本的某种保护。

Facebook有可能拦截通话记录吗?getElementsByClassName当在facebook网页上查询以"-cx- private -"开始的类名时,禁止该函数返回任何结果?或者另一种可能性是,当查询被拦截时,他们可以更改类名,然后在查询完成后再次更改。

我问这个问题的原因,是在某些情况下,即使我可以在源代码中看到有以"-cx- private -"开头的类名元素,但当我尝试通过javascript从用户脚本选择它们时,文档。getElementsByClassName函数没有返回任何元素。

有人知道他们是如何做到这一点的吗?有什么办法可以解决他们的问题吗?

是的,重写内置函数是非常可能的。下面是document.getElementsByClassName:

的示例
// Cache the original
document.______getElementsByClassName = document.getElementsByClassName;
// Overide the function
document.getElementsByClassName = function(classes){
http://jsfiddle.net/nmiddleweek/fj52f7f8/5/

也许你可以尝试使用其他DOM查询函数搜索?

但是我没有变通的办法。

尼克