Javascript 谷歌CSE X-frame-options
我正在尝试创建一个网站的自定义搜索。我目前是一名web开发人员,负责维护多个网站。最近我注意到搜索页面上有一个问题,无法正确生成结果。我查看了一下,发现最初创建网站的人是从现有网站复制的,所以谷歌搜索字符串(在谷歌文档中称为cx)指向了错误的网站(旧网站)。所以我去了谷歌,创建了一个新的定制搜索引擎,并替换了旧的cx值。除此之外,所有代码都是相同的。我使用的是谷歌提供给你的JavaScript,而不是直接使用API。JavaScript在预定div中生成iframe,并将搜索结果嵌入到所述iframe中。问题是谷歌正在发送一个X-frame-options的回复。我检查了其他站点,这些站点唯一的区别是CX stirng。他们所有的搜索功能都运行良好。如何修复此问题,使响应不同 谷歌提供的代码:Javascript 谷歌CSE X-frame-options,javascript,html,google-custom-search,Javascript,Html,Google Custom Search,我正在尝试创建一个网站的自定义搜索。我目前是一名web开发人员,负责维护多个网站。最近我注意到搜索页面上有一个问题,无法正确生成结果。我查看了一下,发现最初创建网站的人是从现有网站复制的,所以谷歌搜索字符串(在谷歌文档中称为cx)指向了错误的网站(旧网站)。所以我去了谷歌,创建了一个新的定制搜索引擎,并替换了旧的cx值。除此之外,所有代码都是相同的。我使用的是谷歌提供给你的JavaScript,而不是直接使用API。JavaScript在预定div中生成iframe,并将搜索结果嵌入到所述ifr
<script>
(function() {
var cx = '011369833985782852522:6v8rougwxxa';
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);
})();
(功能(){
变量cx='011369833985782852522:6v8rougwxxa';
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);
})();
我遇到了完全相同的问题,我找不到适合我的解决方案,因为我使用的是joomla网站,我对代码没有太多控制权 我找到了两种可能的解决方案,看看其中一种能否帮助您:
祝你好运 Google CSE不再支持在IFRAME中显示结果(请参阅)
您必须切换到自定义搜索元素()。问题出在哪里?@Sharky XframeOrigins response与origins相同。防止结果由iframe显示,他们提供的Javascript Genetrates只需严格按照google搜索引擎创建页面上的说明操作即可。否则,请详细描述您正在尝试进行的定制。通过阅读您的答案和评论,您似乎在说,由于XFrame的起源,谷歌定制搜索引擎不适用于任何人。请描述您所做的与说明中所说的不同之处,这使得XFrameOriginations问题更加复杂。我没有做任何不同的事情。