0

我使用本机代码和 Phonegap 2.1 构建了一个混合应用程序。该应用程序有 4 个 Javascript 屏幕。最后一个 Javascript 屏幕具有使用导航控制器打开本机编码屏幕的按钮。我使用jQuery了各种不同类型的按钮和 Javascript 按钮。如果我不使用jQuery手机,它可以工作。

但是,如果我将jQuery移动文件包含到 javascript 文件中,所有不同的按钮将不再起作用。奇怪的是,如果我删除了jQuery第二个 javascript 屏幕和第三个 javascript 屏幕中的包含,则jQuery第 4 个 javascript 屏幕中的移动按钮可以正常工作并且看起来很棒,但是第二个 javascript 屏幕和第三个 javascript 屏幕没有jQuery移动并且看起来现在很糟糕。

似乎 phonegap 缓存了jQuery移动文件,这在 html 页面中是不可能的。我在 javascript 方面有一个滚动视图,但我读到,与滚动视图结合的错误单击按钮是固定的,我在没有滚动视图的情况下对其进行了测试,并且遇到了同样的问题。我还删除了我拥有的 childbrowser,但也没有结果。

我之前用 Phonegap 1.9 测试过,但我也有同样的问题。我用几个浏览器测试了它,它工作正常。感谢阅读并感谢您的帮助。我现在有点绝望。

4

1 回答 1

0
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />      
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />

<script type="text/javascript" src="js/jquery-1.8.2.min.js"></script>

<link rel="stylesheet" href="css/reset.css" type="text/css" media="screen" title="reset"/>
<link rel="stylesheet" id="layout" href="css/tiles.css" type="text/css" media="screen" title="reset" />
<link rel="stylesheet" href="css/style.css" type="text/css" media="screen" title="reset" />

<script type="text/javascript" charset="utf-8" src="cordova-2.1.0.js"></script>
<script src="js/storage.js" type="text/javascript"></script>

<link rel="stylesheet" href="js/jm/jquery.mobile-1.2.0.min.css" />
<script src="js/jm/jquery.mobile-1.2.0.min.js"></script>`

这是第二个屏幕的标题。我将所有标题都组织成相同的。如果我删除包含 jquery.mobile.js 的最后一行,那么我稍后打开 2 个屏幕的 html 页面中的按钮将起作用。
这样我触发我的按钮

<a data-role="button" href="javascript:callNativePlugin();" value="Go to Player jQuery Button" data-theme="x" class="btnClose">Go to Player jQuery Button</a> 

但是使用了几种组合来调用该函数,但没有任何效果。
这样我调用原生函数:

function callNativePlugin()
{
var returnSuccess = "success";
alert('call Native Function');
HelloPlugin.callNativeFunction( nativePluginResultHandler, nativePluginErrorHandler, returnSuccess );
}

function nativePluginResultHandler (result)
{
alert("SUCCESS: \r\n"+result );
}

function nativePluginErrorHandler (error)
{
alert("ERROR: \r\n"+error );
}

如果问题发生,则不会调用警报。

于 2012-10-09T08:37:20.577 回答