我在浏览器中运行Google自定义搜索,效果很好。即使在Phonegap中的模拟器中,它也可以正常运行,但会出现网络错误,或者在Android手机上运行该屏幕时会显示黑屏。或给出此错误“找不到文件://://google.com/cse?q =...。”。
我正在使用Google自定义搜索v2代码。
最佳答案
您从v2的自定义搜索获得的代码如下所示:
<script>
(function() {
var cx = 'ENGINE_ID';
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);
})();
</script>
<gcse:search></gcse:search>
它大致所做的是创建这样的标签:
<script type="text/javascript" src="http://www.google.com/cse/cse.js?cx=ENGINE_ID">
并将其插入页面上其他脚本之前。因此,您可以完全跳过此代码,并手动将上述标记(带有您的引擎ID)插入HTML中,仅将
<gcse:search></gcse:search>
插入。如果仍然无法从file://连接到http://,请下载此脚本(http://www.google.com/cse/cse.js?cx=ENGINE_ID)并将其用作本地javascript文件。关于javascript - 自定义搜索引擎无法在Android手机上运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19706572/