2015-07-28 65 views
3

我正在使用Cordova/PhoneGap和Onsen UI。我有兩個HTML頁面。開關(pushpage)按鈕工作正常。但使用Javascript不search.htmlJavaScript不工作在ons頁面溫泉UI的推動頁面

在這裏工作是我的代碼:

  • 的index.html(默認主頁)
  • search.html

的index.html

... 
<body> 

<ons-navigator title="Navigator" var="myNavigator"> 
<ons-button 
     onclick="myNavigator.pushPage('search.html', { animation: 'lift' })"> 
     Switch Page 
</ons-button> 
</ons-navigator> 
</body> 

search.h TML

<ons-page> 
<script> 
alert('Testing Javascript'); 
</script> 
</ons-page> 

回答

3

search.html頁面是動態插入時myNavigator.pushPage('search.html')被調用。

當以這種方式插入<script>標記時,代碼不會執行。

請參閱此問題的詳細信息: Can scripts be inserted with innerHTML?

爲了執行一些腳本,當一個頁面推你可以使用postpush事件:

ons.ready(function() { 
    myNavigator.on('postpush', function() { 
    alert('Hello, world!'); 
    }); 
}); 
2

這將是你更好將所有JavaScript放入js文件中並在單擊按鈕時調用該函數,例如:

HTML

<body> 
 
    <ons-navigator title="Navigator" var="myNavigator"> 
 
    <ons-button 
 
     onclick="myNavigator.pushPage('search.html', { animation: 'lift' }); callAlert();"> 
 
     Switch Page 
 
    </ons-button> 
 
    </ons-navigator> 
 
</body>

JS

function callAlert() { 
 
    alert('Testing Javascript'); 
 
};

或者,你可以使用ons-navigator活動,如postpush,以更加個性化你的代碼,你可以採取一看在th em HERE