产品使用及交流论坛

注册

 

QQ登录

只需一步,快速开始

发新话题 回复该主题

【已解决】谷歌站内搜索的多次调用问题,掌声有请xiyou闪亮登场... [复制链接]

1#
偷了GOOGLE的站内搜索,用2串代码,前一段代码嵌入页面,代码如下
  1. <div id="cse-search-form" style="width: 100%;">Loading</div>
  2. <script src="http://www.google.com/jsapi" type="text/javascript"></script>
  3. <script type="text/javascript">
  4.   google.load('search', '1', {language : 'zh-CN', style : google.loader.themes.V2_DEFAULT});
  5.   google.setOnLoadCallback(function() {
  6.     var customSearchOptions = {};  var customSearchControl = new google.search.CustomSearchControl(
  7.       '搜索引擎ID', customSearchOptions);
  8.     customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
  9.     var options = new google.search.DrawOptions();
  10.     options.enableSearchboxOnly("搜索结果页面地址");
  11.     customSearchControl.draw('cse-search-form', options);
  12.   }, true);
  13. </script>
复制代码
后一段代码写入搜索结果页,代码如下:
  1. <div id="cse" style="width: 100%;">Loading</div>
  2. <script src="http://www.google.com/jsapi" type="text/javascript"></script>
  3. <script type="text/javascript">
  4.   google.load('search', '1', {language : 'zh-CN', style : google.loader.themes.V2_DEFAULT});
  5.   google.setOnLoadCallback(function() {
  6.     var customSearchOptions = {};  var customSearchControl = new google.search.CustomSearchControl(
  7.       '搜索引擎ID', customSearchOptions);
  8.     customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
  9.     customSearchControl.draw('cse');
  10.     function parseParamsFromUrl() {
  11.       var params = {};
  12.       var parts = window.location.search.substr(1).split('\x26');
  13.       for (var i = 0; i < parts.length; i++) {
  14.         var keyValuePair = parts[i].split('=');
  15.         var key = decodeURIComponent(keyValuePair[0]);
  16.         params[key] = keyValuePair[1] ?
  17.             decodeURIComponent(keyValuePair[1].replace(/\+/g, ' ')) :
  18.             keyValuePair[1];
  19.       }
  20.       return params;
  21.     }

  22.     var urlParams = parseParamsFromUrl();
  23.     var queryParamName = "q";
  24.     if (urlParams[queryParamName]) {
  25.       customSearchControl.execute(urlParams[queryParamName]);
  26.     }
  27.   }, true);
  28. </script>
复制代码
调试的时候把它放在栏目 自定义内容,发现多次引用的时候只有最后一个生效,前面的都会打开在本页面url后加“?search=test&x=35&y=5”作为搜索页地址,这个地址当然是不存在的。

请教版主,这个怎么调试能让它全部生效?另外用百度指定网址搜索的时候只要在输入框标签内加一个target="_blank"结果就会在新窗口打开,而这都是JS,target标签没处放呀,怎么调试才能让它在新窗口中打开搜索结果?

拜托啦!鞠躬啦!!!
如果问题能解决我将在下面贴出关键代码隐藏推广结果!
分享 转发
TOP
2#

看了半天真没有找到什么地方修改。
TOP
3#

可以研究一下,他山之石呀,很优秀的东东
TOP
4#

自己解决了
TOP
5#

怎么解决的,分享一下吧。
TOP
6#

因为目标页面是框架结构,首先需要把目标页面做好另存一下,作为一个独立的页面.
其实修改搜索框
TOP
7#

冒昧的问下啊,
如何调试、调用这两处搜索代码??

谢谢
TOP
8#

不好意思,发帖重复了。

不过对于如何调用这两段搜索代码,我实在是很想能清楚呀,呵呵。
TOP
发新话题 回复该主题