2016-02-05 68 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 
});