我有一个自我托管的Wordpress 3.7,使用的主题是213。我在侧边栏上放置了一个文本小部件,并在其中放置了来自Amazon的简单代码:
<SCRIPT charset="utf-8" type="text/javascript" src="http://ws-na.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&MarketPlace=US&ID=V20070822%2FUS%2Fguardiaintern-20%2F8002%2Feb678005-711d-488e-bdc6-f6dd775e0ed8"> </SCRIPT>
<NOSCRIPT><A HREF="http://ws-na.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&MarketPlace=US&ID=V20070822%2FUS%2Fguardiaintern-20%2F8002%2Feb678005-711d-488e-bdc6-f6dd775e0ed8&Operation=NoScript">Amazon.com Widgets</A></NOSCRIPT>
但是,当您加载站点时,它不会显示。我的印象是,任何任意文本或html也会包括
<SCRIPT>
代码,但情况似乎并非如此。有人知道是什么问题或如何解决吗?
Additional UPDATE: 事实证明,上面的代码在Firefox和IE中显示时略有延迟,但它确实呈现了。然而,无论如何,它都不会在Chrome上渲染。知道为什么它在表面上看起来/出现至少是特定于浏览器的吗?是什么导致行为上的差异?
DEBUGGING RESULTS: 事实证明IS 导致代码中断的Wordpress错误。使用toscho推荐的插件Magic Widgets 已解决使代码显示无问题的问题。我将与WP开发人员联系Ryan 和Andrew 找出导致问题的原因,并在下一版本中解决错误,以避免将来出现相同性质的问题。
最合适的回答,由SO网友:GµårÐïåñ 整理而成
[SUMMARY]
虽然从理论上讲,使用核心提供的文本小部件应该允许您将任意HTML代码付诸实践,但我最近遇到了上面的问题,即Wordpress对代码的包装方式影响了在Chrome上正确渲染的能力。该代码在Firefox和Internet Explorer上仍然显示良好,但该问题对Chrome影响很大,无法正确显示(显示为空白/无输出渲染)。
[SOLUTION]
在查看了核心代码并评估了Wordpress推出的“最终”代码之后,我意识到这与它影响Chrome渲染机制访问代码生成的元素的方式有关。从最终代码中删除导致问题的添加的包装可以正确显示。通过使用toscho建议的一个名为
Magic Widgets 这为您提供了一个未过滤的文本小部件,它以纯粹的形式处理粘贴在其中的代码,而不需要Wordpress进行处理或包装。
[CONCLUSION]
我的结论和建议是,在我能够让Wordpress开发人员提供一个更好的文本小部件,它无论如何都不会与代码交互之前,你应该使用上面提到的插件来放置任何原始代码,特别是
<SCRIPT>
代码或从系统中提取JavaScript代码的任何东西(如我问题中的上述示例),以避免对Wordpress处理和呈现JavaScript代码的方式产生任何干扰,除了手动编辑页面和将代码直接放在要显示的文件中。