Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript chrome扩展不';我不能在facebook上正常工作_Javascript_Facebook_Google Chrome Extension - Fatal编程技术网

Javascript chrome扩展不';我不能在facebook上正常工作

Javascript chrome扩展不';我不能在facebook上正常工作,javascript,facebook,google-chrome-extension,Javascript,Facebook,Google Chrome Extension,我正在开发一个chrome扩展,它可以改变chrome中内容可编辑div的文本内容。它在gmail这样的网站上运行得很好,但在facebook上有一个问题,内容被修改后,你关闭包含div的对话框,然后打开它,所有的修改都被删除,只有通过键盘手动输入的文本 我通过javascript对文本进行如下更改: document.getSelection().anchorNode.textContent = "something"; 事情是这样的: 但在关闭对话框并再次打开后,仅显

我正在开发一个chrome扩展,它可以改变chrome中内容可编辑div的文本内容。它在gmail这样的网站上运行得很好,但在facebook上有一个问题,内容被修改后,你关闭包含div的对话框,然后打开它,所有的修改都被删除,只有通过键盘手动输入的文本

我通过javascript对文本进行如下更改:

document.getSelection().anchorNode.textContent = "something";
事情是这样的:

但在关闭对话框并再次打开后,仅显示手动输入的文本

如上所述,这个问题只存在于facebook上。看起来dom正在被监视,对其所做的任何更改都将被删除


不过,其他扩展可能会像语法一样改变这个div的内容。这怎么可能?您的扩展是否需要facebook或类似网站的许可才能工作?

请参阅“此功能已过时。虽然它可能在某些浏览器中仍然有效,但不鼓励使用,因为它可以随时删除。请尽量避免使用它。”-除此之外,文本已经输入,问题在于关闭后将其保留在div中。execCommand的要点是更改应该保持不变。另外,正如我的回答所指出的,execCommand在可预见的将来会起作用,因为一个新的编辑API规范还没有完成,而且要知道这些东西通常运行得有多慢,可能还要再花5-20年的时间。好吧,我试过了,但没有起作用。执行execCommand时,对话框会自动中断并关闭。出于安全原因,该网站似乎运行一个MutationObserver并删除任何以编程方式插入的内容。但应该有办法解决这个问题,例如,它与语法有关。它肯定与扩展无关,因为如果您试图通过控制台更改div的textContent,那么在关闭对话框后,插入的所有内容都将被网站本身删除。要使用execCommand,您需要首先关注具有
contenteditable
属性的元素。