framework7 html页面中不能执行js代码
index.html有一个超链接点击到about.html,已简单配置好路由。
about.html页面有一些js代码。
如果是从index.html点击到about.html,about.html里的js代码无法执行。如果是直接打开about.html这个页面,js是可以执行的,请问这是什么原理呢?
同样的,如果在about.html页面直接写css样式或者引用外部样式,也是不能执行的。
index.html代码片段
<div id="app">
<div class="statusbar"></div>
<div class="view view-main">
<div class="page">
<div class="page-content">
<p>Page content goes here</p>
<a href="/about/">About app</a>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="f7/js/min.js"></script>
<script type="text/javascript" src="f7/js/app.js"></script>
about.html代码片段
<div id="app">
<div class="statusbar"></div>
<div class="view view-main">
<div class="page">
<div class="page-content">
<p>
<a href="#" class="button button-raised open-toast-center">Toast on Center</a>
</p>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="f7/js/min.js"></script>
<script type="text/javascript" src="f7/js/app.js"></script>
<script>
var toastCenter = app.toast.create({
text: 'I\'m on center',
position: 'center',
closeTimeout: 2000,
});
$$('.open-toast-center').on('click', function () {
toastCenter.open();
});
</script>
</body>
</html>
在外网看到一些答案,有的说要用页面回调,但是我使用的这版framework7(v3.6.5)好像没有页面回调的功能。
试过
$$(document).on('page:init', '.page[data-name="about"]', function (e) {
console.log('2');
})
app.onPageInit('about', function(){
console.log('2');
});
都没效果。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
针对Framework7 5.1.1版本:
在app.js中写上about页面的初始化加载函数
$$(document).on('page:init', '.page[data-name="about"]', function (e) {
这里写你的about页面的js代码
});