【发布时间】:2017-09-15 00:44:25
【问题描述】:
我正在使用谷歌自定义搜索:
1- 我在谷歌搜索框中写了一个文本“A”,
2- 当我点击搜索按钮或回车时,javascript function_1/function_2 会将文本“B”(来自 html 文本框的文本,请参见随附的代码示例)连接到文本“A”,然后将触发连接文本的搜索(“A”与“B”)。
但是,看起来谷歌搜索处理器首先触发搜索仅搜索文本“A”,然后连接完成..这不是我想要的。我希望对连接的文本进行搜索。
请参阅随附的代码示例,如有任何解决方案,请告诉我。
<div class="gcse-container" id="gcse_container">
<gcse:search enableAutoComplete="true"></gcse:search>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
(function($, window) {
var elementName = '';
var initGCSEInputField = function_1() {
$( '.gcse-container form.gsc-search-box input.gsc-input' )
.on( "keyup", function( e ) {
if( e.which == 13 ) { // 13 = enter
var searchTerm = $.trim( this.value );
if( searchTerm != '' ) {
var elements = document.getElementById("firstname").value;
this.value += elements;
}
}
});
$( '.gcse-container form.gsc-search-box input.gsc-search-button' )
.on( "click", function_2( e ) {
var searchTerm = $.trim( $( '.gcse-container form.gsc-search-box input.gsc-input' ).val() );
if( searchTerm != '' ) {
var elements = document.getElementById("firstname").value;
searchTerm +=elements;
$( '.gcse-container form.gsc-search-box input.gsc-input').val(searchTerm);
}
});
};
var GCSERender = function() {
google.search.cse.element.render({
div: 'gcse_container',
tag: 'search'
});
initGCSEInputField();
};
var GCSECallBack = function() {
if (document.readyState == 'complete') {
GCSERender();
}
else {
google.setOnLoadCallback(function() {
GCSERender();
}, true );
}
};
window.__gcse = {
parsetags: 'explicit',
callback: GCSECallBack
};
})(jQuery, window);
(function() {
var cx = '017643444788069204610:4gvhea_mvga';
var gcse = document.createElement('script'); gcse.type = 'text/javascript'; gcse.async = true;
gcse.src = 'https://www.google.com/cse/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse, s);
})();
</script>
【问题讨论】:
标签: javascript search google-custom-search