Javascript MediaWiki VisualEditor:是否访问自动生成的段落?
我正在使用VisualEditor扩展MediaWiki实现,出现以下情况: 我有一个div,它的内容(打开和关闭标签之间的文本)应该与wiki和VisualEditor中的内容不同。在wiki中,我想看到全文,但在VE中,我只想看到缩写。也可以在VE中修改/删除/扩展 例如,我想在wiki中查看Javascript MediaWiki VisualEditor:是否访问自动生成的段落?,javascript,jquery,mediawiki,visual-editor,Javascript,Jquery,Mediawiki,Visual Editor,我正在使用VisualEditor扩展MediaWiki实现,出现以下情况: 我有一个div,它的内容(打开和关闭标签之间的文本)应该与wiki和VisualEditor中的内容不同。在wiki中,我想看到全文,但在VE中,我只想看到缩写。也可以在VE中修改/删除/扩展 例如,我想在wiki中查看产品A、产品B和产品C,但在VE中查看pa、pb、pc。当我将VE中的值更改为,比方说,px,py时,我希望在wiki中看到产品X和产品Y 问题是VE会自动为文本创建一个段落,因此在VE中数据存储如下:
产品A、产品B和产品C
,但在VE中查看pa、pb、pc
。当我将VE中的值更改为,比方说,px,py
时,我希望在wiki中看到产品X和产品Y
问题是VE会自动为文本创建一个段落,因此在VE中数据存储如下:
data[i]: My-Custom-Div-Data-Structure
data[i+1]: Paragraph
data[i+2]: T
data[i+3]: e
data[i+4]: x
data[i+5]: t
data[i+6]: /Paragraph
data[i+7]: /My-Custom-Div-Data-Structure
在一个方向上(HTMLDOM->VE线性数据),我通过在自定义数据结构的toDataElement函数中为DomeElement设置新值来解决这个问题
但我怎么能意识到这一点呢?我有一个VE线性数据元素,但我无法将正确的值设置为内部/外部HTML/Text或textContent,因为在处理完我的自定义数据结构后,旧值从段落中提取并插入到div之间,从而导致双文本。我无法访问该段落,因此我使用了一个非常丑陋的破解。在
ve.dm.Converter.js.prototype.getDomSubtreeFromData
中,在插入段落文本的行中,我在text.length>0
检查中添加了一个检查父项是否属于我的自定义数据类型(在第1220行附近)
这是一个非常丑陋的解决方案,但遗憾的是,我现在还不知道更好的解决方案