【发布时间】:2014-10-28 15:11:45
【问题描述】:
我正在尝试为网站创建自定义搜索。我目前担任维护多个站点的网络开发人员。最近引起我注意的是,搜索页面上存在无法正确生成结果的问题。我调查了一下,发现最初创建该网站的人从现有网站复制了它,所以谷歌搜索字符串(他们在谷歌文档中称之为 cx)指向错误的一个(旧网站)。所以我去谷歌创建了一个新的自定义搜索引擎,只是替换了旧的 cx 值。除了这个,所有的代码都是一样的。我使用的是 google 提供给你的 JavaScript,而不是直接使用 API。 JavaScript 在预定的 div 中生成 iframe,并将搜索结果嵌入到所述 iframe 中。问题是谷歌正在发送 X-frame-options 同源响应。我检查了其他站点,这些站点的唯一区别是 CX 搅拌。他们所有的搜索功能都可以正常工作。如何解决此问题,以使响应不同?
Google 提供的代码:
<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);
})();
【问题讨论】:
-
有什么问题?
-
@Sharky XframeOrigins 响应是相同的来源。防止结果由它们提供的 Javascript 生成的 iframe 显示
-
只需完全按照谷歌搜索引擎创建页面上的说明进行操作。否则,请详细描述您要进行的定制。
-
通过阅读您的答案和评论,您似乎是在说谷歌自定义搜索引擎由于 xframeorigins 而对任何人都不起作用。请描述 你 所做的与说明所说的不同,这使得 xframeorigins 有问题
-
我没有做任何不同的事情。
标签: javascript html google-custom-search