1
的内部格式。当我选择在我的网站有一定的博客文章“查看页面源代码”,我看到了正确的结果:如何保存原始XML/HTML和预标签
<variable name="myPublicVar" type="String">
<metadata name="MemberMetaExamplePublic" />
</variable>
<accessor name="myAccessor" access="readwrite" type="Boolean" declaredBy="MetadataTest">
<metadata name="MemberMetaExampleGetter" />
</accessor>
<method name="myMethod" declaredBy="MetadataTest" returnType="void">
<metadata name="MemberMetaExampleMethod" />
</method>
<metadata name="CustomMeta">
<arg key="param1" value="foo" />
<arg key="param2" value="bar "/>
</metadata>
但是当我用jQuery替换'<'和'>'到'& lt;'和'& gt;'分别由浏览器(在Chrome)所呈现的结果弄乱自闭合元件:
<variable name="myPublicVar" type="String">
<metadata name="MemberMetaExamplePublic">
</metadata></variable>
<accessor name="myAccessor" access="readwrite" type="Boolean" declaredby="MetadataTest">
<metadata name="MemberMetaExampleGetter">
</metadata></accessor>
<method name="myMethod" declaredby="MetadataTest" returntype="void">
<metadata name="MemberMetaExampleMethod">
</metadata></method>
<metadata name="CustomMeta">
<arg key="param1" value="foo">
<arg key="param2" value="bar ">
</arg></arg></metadata>
通知如何<metadata>
元件不必要地产生一个结束标记,和如何在最后一个所述两个<arg>
元件错误地生成结束标签实际上将一个<arg>
包裹到另一个<arg>
中。
我使用的转换发生在jQuery的/ JavaScript代码本节:
$('pre.raw').each(function(pIndex, pDIV) {
pDIV.innerHTML = pDIV.innerHTML.replace(/\</g, "<").replace(/\>/g, ">");
});
可以做些什么来阻止被解析的代码?我不确定浏览器是否应该归咎于jQuery或JavaScript?
注意:尽管我在Wordpress中遇到了这个问题,并且我可以在wordpress.stackexchange.com
网站上询问这个问题,但我认为这是一个通用的问题,可以在各种Web开发场景中找到。
谢谢!我发现越来越多,这是要走的路。我在Wordpress.stackexchange.com网站上提出了另一个问题,要求如何轻松替换发布内容中的某些元素的内容。 http://wordpress.stackexchange.com/q/34401/9710 – bigp