Meteor.js:<script>标记在<body>内不起作用
身体标记内的简单脚本标记看起来不起作用。 警报不会在下面的代码中触发:
<body>
<script type="text/javascript">
alert('Hello');
</script>
{{>main}}
</body>
任何想法为什么?
编辑:刚刚尝试一个新的流星应用程序,仍然没有警报标签:
<head>
<title>test</title>
</head>
<body>
<script type="text/javascript">
alert('Hello');
</script>
{{> hello}}
</body>
<template name="hello">
<h1>Hello World!</h1>
{{greeting}}
<input type="button" value="Click" />
</template>
奇怪的是,当我复制粘贴html的源代码时,创建了一个新的html页面,并且警报将起作用。
Edit3:我在这里部署这个应用程序:http://alert-in-body-test.meteor.com/你有一个警告框?
这个问题在当前版本的Meteor(0.5.4版本)中仍然相关,所以我想描述如何在脚本的最后加入脚本。
要在正文结尾处执行javascript,请注册一个Handlebars助手,并在其中放置相关代码,如下所示:
在client.html中:
<body>
{{renderPage}}
{{afterBody}}
</body>
...
在client.js中:
if (typeof Handlebars !== 'undefined') {
Handlebars.registerHelper('afterBody', function(name, options) {
$('body').append('AFTER BODY');
});
}
(关于为什么这是必需的一个很好的描述,请参阅Rahul在这里回答类似的问题:https://stackoverflow.com/a/14002991/219238)
它为我工作
在onrender调用这个jQuery
$ .getScript('你的网址')
它应该工作。
我刚刚在我的一个项目中粘贴了它,并且它工作正常。
你的{{> main}}对我来说很难过。 还要确保<body>
在<html>
标签内。