2016-02-05 40 views
1

在应用程序启动时,我想执行JavaScript函数。在索引页上的Framework7中执行Javascript函数oninit - Cordova

我试图用指标为对这个工作 - 数据页=“指数”,并使用以下功能:

myApp.onPageInit('index', function (page) { 
    // "page" variable contains all required information about loaded and initialized page 
}) 

但是,当应用程序刚启动这个功能不起作用。

+0

你试过科尔多瓦设备准备好方法? – Naitik

+0

是的,但与framework7它有一些问题。 –

回答

0

你可以试试这个:

window.onload = function(){ document.addEventListener("deviceready", onDeviceReady, false); } 

function onDeviceReady() { // your device ready logic here } 

编辑:

我们可以在纯JavaScript做到这一点(虽然这不会在所有的浏览器):

VAR DoSomething的=功能(事件){。 。 。 };

window.addEventListener('DOMContentLoaded',doSomething);

但是我们可以使用jQuery更容易做到这一点,它会工作的跨浏览器:

$(窗口)。就绪(DoSomething的);

这可以进一步简化为:

$(doSomething的);

在以上所有示例中,doSomething都是JavaScript函数。

+0

documentready和deviceready不一定会按照您描述的顺序触发。 –

+0

匿名函数与编辑没有额外的开销会有相同的效果。另一方面科尔多瓦不会以任何给定的顺序触发事件,因此必须按照准顺序的方式处理事件。 –

1

你必须触发它。

myApp.onPageInit('index', function() { 
    // Code here 
}).trigger(); 

仅对索引路由使用.trigger()。你可以在framework7文档中阅读更多内容。

更新

您还可以检查在framework7 GitHub库的issue谈话。

0

尝试改变

$$(document).on('deviceready', function() { 
    // Your content here 
}); 

对于

$$(document).on('DOMContentLoaded', function(){ 
    // Your content here 
});