为啥我的代码可以在 chrome 上运行,而不是一次使用 cordova 编译

Posted

技术标签:

【中文标题】为啥我的代码可以在 chrome 上运行,而不是一次使用 cordova 编译【英文标题】:why my code does work on chrome and not once compile using cordova为什么我的代码可以在 chrome 上运行,而不是一次使用 cordova 编译 【发布时间】:2013-12-04 21:56:15 【问题描述】:

我正在使用cordova / eclipse / kendo ui进行一个项目,我正在经历一个奇怪的行为......

我开发了一个测试样本来向您展示..

当我尝试在 google chrome 上运行该示例时,它确实可以工作,但是一旦在我的手机上编译并运行(顺便说一下,这是一个 nexus 4,即使我认为这并不重要..)它不起作用。 ..

在这个例子中,我们有一些简单的东西,一个包含三个项目的菜单和一个不同的视图,具体取决于您单击的按钮。

在谷歌浏览器上,它可以工作,我的意思是当我点击第一个按钮时,它显示“第一个”,第二个也是如此,依此类推..

当我用 eclipse 编译项目并在我的手机上运行它时,无论我点击什么按钮,消息都是一样的 ..

这是我的代码示例:

html

<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<link href="styles/kendo.common.min.css" rel="stylesheet" />
<link href="styles/kendo.default.min.css" rel="stylesheet" />
<link href="styles/kendo.mobile.all.min.css" rel="stylesheet" />
<link href="styles/index.css" rel="stylesheet" />
<!-- Librairies -->
<script src="lib/jquery.min.js"></script>
<script src="lib/kendo.all.min.js"></script>
<!-- Fonction d'init -->
<script src="init/cordovaInit.js"></script>
<!-- Controleurs -->
<script src="controlers/panelControler.js"></script>
<!-- EndScript -->
</head>
<body onload="onBodyLoad()">
<div data-role="view" id="drawer-home" data-layout="drawer-layout" data-title="search">
<div id="search">
     <div id="first">
      <p>first</p>
    </div>
    <div id="second">
      <p>second</p>
    </div>
    <div id="third">
      <p>third</p>
    </div>
</div>
</div>
<div data-role="drawer" id="my-drawer" style="width: 270px" data-views="['/', 'drawer-home']">
<ul data-role="listview" data-type="group">
<li>Menu
  <ul>
    <li><a href="#drawer-home" onClick="panelControler('first')">First</a></li>
    <li><a href="#drawer-home" onClick="panelControler('second')">Second</a></li>
    <li><a href="#drawer-home" onClick="panelControler('third')">Third</a></li>
  </li>
</ul>
</div>
<div data-role="layout" data-id="drawer-layout" data-layout="overview-layout">
<header data-role="header">
  <div data-role="navbar">
    <a data-role="button" data-rel="drawer" href="#my-drawer" data-icon="drawer-button" data-align="left"></a>
    <span>Test</span>
  </div>
 </header>
</div>
<script>
var app = new kendo.mobile.Application(document.body);
panelControler('first');
</script>
</body>
</html>

这是我用来测试的非常简单的 javascript

function panelControler(action)
alert("panelControler");
if (action === 'first')
    alert("first show");
    $("#first").show();
    $("#second").hide();
    $("#third").hide();

else if (action === 'second')
    alert("second show");
    $("#second").show();
    $("#first").hide();
    $("#third").hide();

else if (action === 'third')
    alert("third show");
    $("#third").show();
    $("#second").hide();
    $("#first").hide();


【问题讨论】:

什么是&lt;script src="init/cordovaInit.js"&gt;&lt;/script&gt;?你是如何“编译”的——使用cordova CLI? 不,我正在使用 eclipse 你在哪里得到科尔多瓦?您是如何使用 Eclipse 进行设置的?您是否运行了 cordova create 命令,然后将 Eclipse 指向生成的 android 项目? 我昨天就是这样做的:cordova.apache.org/docs/en/2.5.0/… 【参考方案1】:

检查来自Kendo UI Mobile FAQ 的第二个 Q/A 对。

【讨论】:

以上是关于为啥我的代码可以在 chrome 上运行,而不是一次使用 cordova 编译的主要内容,如果未能解决你的问题,请参考以下文章

为啥这个 LSEP 符号出现在 Chrome 而不是 Firefox 或 Edge 上?

为啥我的 SVG 在 Chrome 而不是 Firefox 中正确显示?

在 Chrome 中运行 IntelliJ JSP 代码而不是显示源代码

为啥我的代码仅在 Safari 桌面上运行缓慢?

为啥我的 tensorflow-gpu 在 Intel-HD GPU 而不是 NVIDIA 上运行?

为啥 MutationObserver 代码不能在 Chrome 30 上运行?