【问题标题】:Google custom search problem from phonegap来自phonegap的谷歌自定义搜索问题
【发布时间】:2011-07-13 21:30:04
【问题描述】:

我正在尝试创建一个 PhoneGap 应用程序,该应用程序在某种程度上提供了一个自定义搜索引擎。我已按照 Google 的说明创建了以下 HTML 文件,当以 file:///text.html 访问时,该文件在桌面浏览器中运行良好。当我将它用作电话间隙起始页面时,它呈现得很好。有一个文本框和“搜索”按钮。但是,当我按“搜索”时,Android 设备上出现“应用程序错误”,提示“找不到文件:///google.com/cse?q=....”。

CustomSearchControl 将一些代码注入页面——基本上是一个表单。我虽然可以在“cse”元素处操作 DOM 以修复 URL 方案,但我没有看到带有 Firebug 的 google.com URL。

寻找解决问题的方法或解决问题。这是html代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <title>Google AJAX Search API Sample</title>
    <script src="https://www.google.com/jsapi?INSERT-YOUR-KEY"></script>
    <script type="text/javascript">
        google.load('search', '1');
        google.setOnLoadCallback(function(){
          var search = new google.search.CustomSearchControl('007447616601297022092:7nhsxzpy6ao').draw('cse');
        }, true);
    </script>
  </head>
  <body style="font-family: Arial;border: 0 none;">
    <div id="cse" style="width:100%;">Loading...</div>
  </body>
</html>

【问题讨论】:

    标签: android cordova google-custom-search


    【解决方案1】:

    经过多次尝试,我终于找到了解决方法......

    虽然我不确定,但我认为问题的根源在于 Google 脚本看到它是从设备的本地文件系统运行的,它错误地尝试将表单提交到 file:// /。

    我在 PhoneGap 上使用 Sencha Touch。我想我也许可以使用一些 dom 和组件访问函数来操纵提交事件。然而,谷歌的 JS 缩短后几乎是无法穿透的。即使在 deminification 之后,你也有像 aob 这样的代码。天哪。

    所以我只是在 Sencha 应用程序中使用 iframe 将上述问题中显示的脚本下拉到设备。来自 Conor Armstrong 的一些 code 非常有助于使这一切在 Sencha Touch 中正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-18
      • 1970-01-01
      • 2018-12-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多