获得原始的dom元素innerHTML没有javascript处理
get original dom element innerHTML without javascript processing
Background -在TinyMCE支持的文章编辑器中用于大型媒体网站背后的企业内部CMS
HTML<p>non-breaking-space: pound: £ copyright: ©</p>
JS
console.log($('p').html());
console.log(document.getElementsByTagName('p').item(0).innerHTML);
都返回
non-breaking-space: pound: £ copyright: ©
当我期待
non-breaking-space: pound: £ copyright: ©
有些元素的实体被颠倒了(比如pound和copyright),有些元素被保留了(不间断空格)。我需要一种方法来获得原始的内部HTML,全部保存,而不是由浏览器处理的;这可能吗?
这是一个TinyMCE插件,它使用jQuery处理输入并将其放回。内容是通过数据库加载的,插件正在处理图像标签,根本不想修改文本内容。将一些实体自动更改回原始字符不会有太大的问题,但是-
- 我们不能修改编辑的输入,即使它是次要的
- 由于我们网站上的一些浏览器兼容性问题,我们强制要求这些必须是实体才能保存
我会使用这个答案- https://stackoverflow.com/a/4404544/830171 -但不能作为我的HTML代码是在一个文本区域内,用户需要编辑,我需要运行jQuery DOM操作(通过插件)。
我能想到的一种方法是不使用jQuery/DOM来处理我需要改变的图像标签,而是像很多TinyMCE插件一样使用正则表达式;但是因为我在regex中被击落了,因为我试图在HTML上使用任何regex,所以我希望有一个更好的方法!
Tinymce使用一个可内容的iframe来编辑内容。这就是为什么console.log($('p').html());
将记录其他内容
使用以下代码获取纯编辑器内容:
tinymce.get('your_editor_id').getBody().innerHTML
相关文章:
- 对于Ajax调用,为什么innerHTML没有显示在IE中
- JavaScript没有将结果值设置为<p>'的innerHTML
- .innerHTML += id,没有重复
- 使用innerHTML没有任何效果
- 带有getElementByClassName的innerHTML没有'不起作用
- innerHTML没有html,只有文本
- Javascript innerhtml没有'不要用树枝标签
- innerHTML没有'使用函数更改值时不能立即工作
- innerHTML没有'工作不正常
- innerHTML没有正确更新
- innerHTML没有得到更新
- 用JavaScript从[object, htmlknownelement]中获取innerHTML(没有JQuery)
- Javascript对象.innerHtml没有替换所提供的整个字符串参数
- InnerHTML没有'我不在FF工作
- JavaScript文档innerHTML没有得到文本
- innerHTML没有显示数据库中的html
- innerHTML没有't解释HTML标记
- innerHTML没有't在IE中正常工作
- JavaScript innerHTML 没有显示
- 获得原始的dom元素innerHTML没有javascript处理