我在浏览器中运行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/

10-11 11:12