我正在使用Cordova / PhoneGap和Onsen UI。我有两个html页面。开关(按钮)按钮工作正常。但Javascript无法在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.html
<ons-page>
<script>
alert('Testing Javascript');
</script>
</ons-page>
答案 0 :(得分: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!');
});
});
答案 1 :(得分:2)
如果将所有JavaScript放在js文件中并在单击按钮时调用该函数会更好,例如:
HTML 的
statement to be repeated
JS
<body>
<ons-navigator title="Navigator" var="myNavigator">
<ons-button
onclick="myNavigator.pushPage('search.html', { animation: 'lift' }); callAlert();">
Switch Page
</ons-button>
</ons-navigator>
</body>
或者,您可以使用function callAlert() {
alert('Testing Javascript');
};
事件(例如ons-navigator
)来个性化您的代码,您可以查看它们documentation