2

Google 的 JavaScript API 使用了该函数document.write,因此在 XHTML 中不可用。

您知道如何让自定义搜索在 XHTML 中工作的解决方法吗?还是有可行的替代方案?

4

1 回答 1

2

您实际上是否将您的 XHTML 作为 XML ( application/xhtml+xml) 提供服务?如果没有,你还不必担心。document.write仍然可以在text/html模式下工作,尽管一般来说这肯定是不好的做法。

如果您真的在为原生 XHTML 提供服务……那么,我怀疑您可能会遇到更多问题document.write,因为当脚本不期望在 XHTML 中运行时,有很多事情可能会导致脚本出错。但是您可以通过破坏来解决问题document.write

最简单的方法是这样的:

document.write= function(s) {
   document.getElementById('placetoputwrittenstuff').innerHTML= s;
};

但是,如果它尝试编写<script>标签(因为设置它们innerHTML并不会执行它们;您必须将它们挑选出来getElementsByTagName并手动运行每个标签),或者跨不同调用的部分元素位write(在在这种情况下,您必须在完成后收集字符串并将它们粘合在一起)。

于 2010-04-22T14:58:38.657 回答