gpt4 book ai didi

javascript - 自定义 Google 自定义搜索 jsapi(查询字符串)

转载 作者:行者123 更新时间:2023-11-30 12:58:32 25 4
gpt4 key购买 nike

你好,

我正在创建用于搜索的 Google cse 功能。使用此代码脚本不设置查询字符串。它无尽的刷新页面。也许有人知道主机 ot 是否正确?我只需要每次搜索不同的页面,例如: http://page.com/search?q=first+search我可以用 parseParamsFromUrl 函数以某种方式做到这一点吗?

    <div id="cse" style="width: 100%;">Loading</div>
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">
google.load('search', '1', {language : 'en', style : google.loader.themes.MINIMALIST});
google.setOnLoadCallback(function(){
var cse = new google.search.CustomSearchControl('13707349811359660237:cl5vrpn6mu8');
cse.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
cse.draw('cse');
cse.setNoResultsString('No results for this query, try a different search.');
cse.setSearchStartingCallback({}, function() {
var q = cse.getInputQuery();
window.location.search = '?q='+q;
});
Function parseParamsFromUrl() {
var params = {};
var parts = window.location.search.substr(1).split('\x26');
for (var i = 0; i < parts.length; i++) {
var keyValuePair = parts[i].split('=');
var key = decodeURIComponent(keyValuePair[0]);
params[key] = keyValuePair[1] ?
decodeURIComponent(keyValuePair[1].replace(/\+/g, ' ')) :
keyValuePair[1];
}
return params;
}
var urlParams = parseParamsFromUrl();
var queryParamName = "q";
if (urlParams[queryParamName]) {
cse.execute(urlParams[queryParamName]);
}
}, true);
</script>

任何帮助将不胜感激

最佳答案

我自己回答了我的问题。这是工作脚本

google.load('search', '1', {language : 'lt style: google.loader.themes.MINIMALIST '});
google.setOnLoadCallback(function() {
var customSearchControl = new google.search.CustomSearchControl('014092587915392242087:l98hzi05fja'); // change this to your unique ID
customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
customSearchControl.setLinkTarget(google.search.Search.LINK_TARGET_NEW); // open results in new window
var options = new google.search.DrawOptions();
options.setAutoComplete(true);
customSearchControl.draw('cse'); // set the results div id
customSearchControl.execute("<?php if (isset($_GET['q'])) echo filter_var($_GET['q'], FILTER_SANITIZE_STRING); ?>"); // run the search using the value of $_GET['q']
customSearchControl.setSearchStartingCallback({}, function() {
var q =  customSearchControl.getInputQuery();
window.location.search = '?q='+q;
});
}, true);

现在每个搜索都出现在 url 中

关于javascript - 自定义 Google 自定义搜索 jsapi(查询字符串),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18192773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com