JQuery 未在 Cordova 中执行
Posted
技术标签:
【中文标题】JQuery 未在 Cordova 中执行【英文标题】:JQuery not executing in Cordova 【发布时间】:2014-06-17 11:40:27 【问题描述】:我正在使用 Cordova 开发移动应用程序。
有一个页面我想要一个 JQuery 滑块。
为了实现这一点,我使用了流行的 swipe.js,我这样称呼它:
<script src="js/swipe.js"></script>
但是,当我模拟应用程序并转到页面时,它只会向我显示静态 html。 更奇怪的是,当我将 WWW 放入 MAMP 并在浏览器中运行时,它还会显示静态 HTML,直到我刷新页面一次,然后它会按照我的意愿运行。
我正在使用 deviceready,但它似乎没有多大帮助:
document.addEventListener("deviceready", function()
Slider = $('#slider').Swipe(
auto: 1000,
continuous: true
).data('Swipe');
$('#share-button').click(function()
$('#social').css('display', 'block');
$('#overlay').css('display', 'block');
);
$('#overlay').click(function()
$('#social').css('display', 'none');
$('#overlay').css('display', 'none');
);
,true);
我将计时器设置为 1000 毫秒,以便查看 jquery 是否正常工作。
【问题讨论】:
可能设备已准备好,但文档未准备好?试着用 jquery 的文档包装你的滑块代码吧? @AntoineCloutier 我已经尝试过了,但它不起作用:S 【参考方案1】:使用 jQuery pageshow 事件代替 document.addEventListener 来初始化 Swipe Slider。 http://www.w3schools.com/jquerymobile/event_pageshow.asp
【讨论】:
【参考方案2】:1.始终将 deviceready 与 cordova 一起使用。
2.确保你拥有所有需要cordova、cordova_plugins、jquery、swipe等的javascript。
3.确保它实际上是 deviceready 正在触发。
我就是这样做的
$(document).ready( function()
document.addEventListener("deviceready", controller.StartApp, false);
);
controller.StartApp = function()
alert("Device ready");
【讨论】:
什么是controller.StartApp
?
它启动应用程序的功能无关紧要。首先,我的意思是检查设备类型 ios、android 等的网络检查。
那么我将如何执行我自己的代码呢?在false);
之后?
我更新了答案,这样你就可以看到 startapp 是什么了。
我已经尝试过您的方法,但它显示的结果与我的相同(静态 html)。其他 jquery 代码也不起作用,所以我认为我的 swipe.js 没有正确加载,它会导致其他 jquery 代码中断。以上是关于JQuery 未在 Cordova 中执行的主要内容,如果未能解决你的问题,请参考以下文章
OnPause 未在 cordova/phonegap 中执行代码 :(((
<Cordova/CDVLocalStorage.h> 未找到
applicationDidBecomeActive 未在 Cordova 应用程序中触发