Phonegap:我的Javascript代码适用于浏览器,但不适用于Android模拟器或设备

Phonegap: My Javascript code works on browsers but it doesn't work on Android emulator or device

本文关键字:适用于 Android 不适用 模拟器 我的 Javascript 代码 浏览器 Phonegap      更新时间:2023-09-26

我正在尝试使用phonegap和JQuery Mobile制作Android应用程序。

我有一个显示值的div。每当我通过从标签值中添加或减去div 的值来单击复选框时,该值都会更改

这是我在安卓设备上安装的索引文件。

<head>
 <script>
  function inputData(idVar)
 {
 var myId;
 myId = document.getElementById(idVar).getAttribute("value");
 var myTag = document.getElementById(idVar);
 var mymyTag = myTag.querySelectorAll(".ui-btn-text");
 var myData = mymyTag[0].innerHTML;
 var myDataParsed = parseInt(myData);
if (document.getElementById(myId).checked==false)
 {
 myDataPrased =  myDataParsed+parseInt(document.getElementById("input_label").innerHTML);
 document.getElementById("input_label").innerHTML=myDataPrased;
 }
 else
 {
 var myResult
 var myOldData = parseInt(document.getElementById("input_label").innerHTML);
 myResult = myOldData-myDataParsed;
 document.getElementById("input_label").innerHTML=myResult;  
 }
 }
  </script>
  </head>
<body>
<div data-role="page" id="input">
<div data-role="header"></div>
  <div data-role="content">
    <div data-role='fieldcontain' align="center">
    <fieldset data-role='controlgroup' id="in">
    </fieldset>
    </div>
    <div id="input_label">0</div>
     <a href="#data" data-role="button" data-inline="true">Back</a>
</div>
<div data-role="footer" data-position="fixed">
    <h4>Page Footer</h4>
</div>

复选框是从 php 页面生成的。

 <fieldset data-role='controlgroup' id="in">

当我单击标签时调用函数"inputData"(在JQuery Mobile中,标签标签似乎覆盖了复选框,所以当我认为我正在单击复选框时,我实际上是在单击标签,然后它将生成一个将触发复选框的事件)

该函数将接收标签的 ID。然后使用它,我通过从标签标签的"value"属性中提取 CheckBox 来获取 ID,因此我可以使用它来检查复选框是否被选中。

这段代码在像FireFox这样的Web浏览器上完美运行。但是当我使用 Eclipse 在 Android 设备上安装它时,它不会运行它。无论我如何单击复选框。div 的值不会更改。

我能够通过转身来解决我的问题。而不是选中复选框上的 onclick 事件并更改值。我制作了一个名为"计算"的按钮,该按钮迭代所有复选框并计算选中复选框的值。然后通过该按钮上的 OnClick 事件编辑最终值。

非常感谢大家尽力帮助我,我很感激。

记得加载cordava file: <script type="text/javascript" src="cordova.js"></script>

查看您的config.xml文件。有没有像这样的台词

<access origin="http://127.0.0.1*" />

执行复选框技巧的 PHP 脚本不在 127.0.0.1 处?然后将该行更改为

<access origin="*" />

以访问 PHP 文件所在的远程主机。

LG

法斯特德