为啥我的代码可以在 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();
【问题讨论】:
什么是<script src="init/cordovaInit.js"></script>
?你是如何“编译”的——使用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 代码而不是显示源代码