【问题标题】:Google Custom Search with XSLT使用 XSLT 的 Google 自定义搜索
【发布时间】:2012-08-24 14:16:56
【问题描述】:

我正在尝试将 google 自定义搜索引擎应用到使用 xslt 运行的网站。

此代码位于头部

(function() {
    var cx = '..............';
    var gcse = document.createElement('script'); gcse.type = 'text/javascript'; gcse.async = true;
    gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
        '//www.google.com/cse/cse.js?cx=' + cx;
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse, s);
})();

还有这个sn-p在体内

<gcse:search></gcse:search>

但我只收到以下错误警告:DOMDocument::load(): Namespace prefix google on search is not defined

知道为什么?我需要一个特殊的 xmlns 吗?

干杯

【问题讨论】:

  • 请提供更多详细信息,哪个浏览器会显示该错误消息?你试过其他浏览器吗?如果您只是使用该 Javascript 代码提供一个 HTML 文档,那么该代码是否可以按您的意愿工作?还是您收到相同的错误消息?我们需要确定问题是否与 XSLT 有关。 XSLT 是在服务器端完成的还是在客户端完成的?
  • 嗨。在 Firefox 14.0.1、Safari 6.0 和 Chrome 21.0.1180.82 中也是如此。 JavaScript 代码似乎没问题,如果我粘贴 gcse 元素,只会出现错误。 XSLT 在服务器端完成。

标签: xslt search-engine


【解决方案1】:

我试图理解https://developers.google.com/custom-search/docs/element#overview 和您发布的问题。我有点猜测,但基于https://developers.google.com/custom-search/docs/element#html5 尝试用&lt;div class="gcse-search"&gt;&lt;/div&gt; 替换您的代码中的&lt;gcse:search&gt;&lt;/gcse:search&gt;,这样我希望您的XSLT 输入是格式良好的命名空间,并且您尝试在转换结果中包含Google 搜索有效.

【讨论】:

    【解决方案2】:

    仅从上面 Martin 分享的链接中带出如何添加属性示例:

    HTML5 有效的 div 标签

    只要遵守以下准则,您就可以使用 HTML5 有效的 div 标签:

    • 类属性必须设置为gcse-XXX
    • 任何属性都必须以 data- 为前缀。

    例如:

    <div class="gcse-searchbox" data-resultsUrl="http://www.example.com"
         data-newWindow="true" data-queryParameterName="search" >

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-17
      • 1970-01-01
      • 2013-04-03
      • 1970-01-01
      • 1970-01-01
      • 2015-04-13
      • 2013-03-17
      相关资源
      最近更新 更多