【发布时间】:2026-02-11 13:05:02
【问题描述】:
我是cordova的新手,从使用cordova 5.0开始。
我配置了环境,并从 CLI 创建了一个实例,并在 android 设备上运行它:
cordova create hello com.example.hello HelloWorld
cd hello
cordova platform add android
cordova run android
经过以上四个指令,我创建了一个实例,并让它在我的安卓手机上运行。
我的编码努力:
该实例包含一个 www 文件夹,我认为我应该处理它。
好的,我尝试更改 index.html 标记,一切顺利并得到显示。
但是当我尝试在html中添加一段嵌入的javascript时,我发现它不起作用:
<body>
<div class="app">
<h1>Apache Cordova</h1>
<div id="deviceready" class="blink">
<p class="event listening">Connecting to Device</p>
<p class="event received">Device is Ready</p>
</div>
</div>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<script>
alert('hello world!');
</script>
</body>
然后,我改变我的方法,我创建一个site.js 并导入它,然后在其中做警报,我工作了!
index.html:
<body>
<!-- ... -->
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<script type="text/javascript" src="js/site.js"></script>
</body>
site.js:
alert('Hello world!');
我觉得很奇怪,很好奇它为什么会这样。
我找到了文档并用谷歌搜索了它,但都没有运气。
所以我求助于你。
我的问题
- 嵌入脚本没有效果是什么原因,可以吗?
- 在这种情况下我应该如何编码?如何放置我的脚本是安全的?
【问题讨论】:
-
重点是,您必须在 deviceready 事件之后调用您的脚本。见:cordova.apache.org/docs/en/5.0.0/…
-
@Joerg 不,不是这个问题,我把cordova版本改成3.6,一切顺利!那一定是个bug!
-
您是否尝试在 cordova 5 中的 deviceready 事件之后发出警报?
-
@Joerg 是的,我只是将脚本放在 html 文件或外部 js 文件中,结果不同。但是当我回到 3.6 时一切都很好。花了这么多时间。你可以试试5.0,我发现问题太多了。
标签: javascript android jquery html cordova