我在 Ubuntu 13.10 中下载并安装了最新的 ubuntu sdk(1.097~sdkppa~saucy1~test9)。
我刚刚使用 Ubuntu HTML5 API 创建了一个本机应用程序,但发现它缺少网络浏览器中正常 html 的一些基本效果/行为!
以下是我所做的:
步骤 1:从“新文件或项目...”菜单创建 Html5 应用程序。在对话框中,从项目栏中选择“应用程序”,然后选择“HTML5 应用程序”
步骤 2:编辑项目的内置 html 文件。只需从另一个也是从“新文件或项目...”菜单创建的演示项目中复制 html 和 js 文件即可。在对话框中,从项目栏中选择“Ubuntu”,然后选择“HTML5 App”。将创建一个 index.html 文件和 js 目录。然后将它们复制到第一个项目中。
步骤 3:编辑 index.html 文件,为测试按钮添加 onMouseOver 和 onMouseOut 事件
测试html的正常行为!function change(){
document.getElementById("text1").style.background="red";
}
function change2(){
document.getElementById("text1").style.background="yellow";
}
步骤 4:运行应用程序并将鼠标移到测试按钮上。但是什么也没发生!但是当我单击测试按钮时,按钮的颜色发生了变化。
我认为某些事件必须由应用程序的包装器拦截。我想知道如何获得预期的效果?我需要这个函数来向用户提供浮动提示。
完整代码可以从这里下载:http://yunpan.cn/Q4fp9PeRiCPBW
答案1
创建新的 HTML5 应用时,请确保您拥有最新版本的 ubuntu-html5-container 和 ubuntu-html5-ui-toolkit。我建议您使用 0.1.2+14.04.20140219-0ubuntu1~ubuntu13.10.1~ppa1 或更新版本。
特别是,请确保您的应用文件位于 www 目录中(index.html 文件和 JS 文件),因为我们最近必须将内容转移到此目录,以适应可选的 cordova 运行时。
Ubuntu HTML5 骨架应用和容器已同步以这种方式工作。要从以前的模板迁移,只需将文件移至 www。您可以将配置文件(如清单和 json 文件)保留在目录的根目录中。
最后,由于我们使用的 WebView(QtWebkit,承认其偏向于触摸应用),悬停事件可能目前不可用。这是融合案例的一个错误,因此请在 launchpad.net/ubuntu-htm5-theme(这仍然是我们的主要 HTML5 工具包的源包)上提交一个。谢谢