Javascript不能在push Page的Onsen UI中工作

Javascript not working in Pushed Page of ons-page Onsen UI

本文关键字:Onsen UI 工作 Page 不能 push Javascript      更新时间:2023-09-26

我使用Cordova/PhoneGap和Onsen UI。我有两个html页面。开关(推页)按钮工作完美。但是Javascript不能在search。html

中工作下面是我的代码:

  • 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.html

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

调用myNavigator.pushPage('search.html')时动态插入search.html

以这种方式插入<script>标记时,代码不执行。

请参考这个问题获得更多信息:脚本可以插入与innerHTML?

为了在页面被推送时执行一些脚本,您可以使用postpush事件:

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

如果你把所有的JavaScript放在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>

JS

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

或者,你可以使用ons-navigator事件,像postpush,来个性化你的代码,你可以看看他们在这里