我的Meteor应用程序中的Javascript仍然无法工作
我最初发布了这个 我想我有办法解决我的问题。我错了。我有一些要加载的外部js以及一个内部脚本。我尝试将脚本单独放置在模板中,例如:我的Meteor应用程序中的Javascript仍然无法工作,javascript,Javascript,我最初发布了这个 我想我有办法解决我的问题。我错了。我有一些要加载的外部js以及一个内部脚本。我尝试将脚本单独放置在模板中,例如: <template name="myscripts"> <script src="myexternalscript"></script> <script src="anotherexternalscript></script> <script src="anotherexternalscr
<template name="myscripts">
<script src="myexternalscript"></script>
<script src="anotherexternalscript></script>
<script src="anotherexternalscript"></script>
<script>
//internal script code here
</script>
</template>
到我希望加载的元素的底部。然后,包含html元素和{{myscripts}}的模板(我想加载JavaScript)被加载到我的主页体{{>myothertemplate}中。我运行了我的项目localhost:3000,没有收到任何错误。我在我想要的页面上看到了我想要的脚本,但是它们不起作用。它们对页面没有影响。我尝试使用内部JavaScript并将其保存为JavaScript文件以及外部JavaScript文件,但是这也不起作用。这是我想要的一个例子:
(功能(){
//基础模板
var base_tpl=
“\n”+
“\n\t”+
“\n\t\t”+
“\n\t\t”+
“测试\n\n\t\t\n\t”+
“\n\t”+
“\n\t\n\t”+
“\n”+
"";
var prepareSource=函数(){
var html=html_editor.getValue(),
css=css\u editor.getValue(),
js=js_editor.getValue(),
src='';
src=base_tpl.replace(“”,html+“”);
css=''+css+'';
src=src.replace(“”,css+“”);
js=''+js+'';
src=src.replace(“”,js+“”);
返回src;
};
var render=function(){
var source=prepareSource();
var iframe=document.querySelector(“#output iframe”),
iframe_doc=iframe.contentDocument;
iframe_doc.open();
iframe_文件写入(来源);
iframe_doc.close();
};
变量cm_opt={
模式:“text/html”,
是的,
行号:对,
};
var html_box=document.querySelector('html textarea');
var html_editor=codemirr.fromTextArea(html_框,cm_opt);
html_编辑器.on('change',函数(inst,changes){
render();
});
cm_opt.mode='css';
var css_box=document.querySelector('css textarea');
var css_editor=codemirr.fromTextArea(css_框,cm_opt);
css_编辑器on('change',函数(inst,changes){
render();
});
cm_opt.mode='javascript';
var js_box=document.querySelector('js textarea');
var js_editor=codemirr.fromTextArea(js_框,cm_opt);
js_editor.on('change',函数(inst,changes){
render();
});
var cms=document.querySelectorAll('.codemirr');
对于(变量i=0;i
$.getScript('/myscript.js')
工作正常
{{myscripts}}
<!--HTML here-->
<!--some elements here
after the last div on this template page, I wanted to add my scripts.-->
<div>
</div>
<script src="some external script"></script>
<script src="some external script"></script>
<!--Now my internal script-->
<script>
(function() {
// Base template
var base_tpl =
"<!doctype html>\n" +
"<html>\n\t" +
"<head>\n\t\t" +
"<meta charset=\"utf-8\">\n\t\t" +
"<title>Test</title>\n\n\t\t\n\t" +
"</head>\n\t" +
"<body>\n\t\n\t" +
"</body>\n" +
"</html>";
var prepareSource = function() {
var html = html_editor.getValue(),
css = css_editor.getValue(),
js = js_editor.getValue(),
src = '';
src = base_tpl.replace('</body>', html + '</body>');
css = '<style>' + css + '</style>';
src = src.replace('</head>', css + '</head>');
js = '<script>' + js + '<\/script>';
src = src.replace('</body>', js + '</body>');
return src;
};
var render = function() {
var source = prepareSource();
var iframe = document.querySelector('#output iframe'),
iframe_doc = iframe.contentDocument;
iframe_doc.open();
iframe_doc.write(source);
iframe_doc.close();
};
var cm_opt = {
mode: 'text/html',
gutter: true,
lineNumbers: true,
};
var html_box = document.querySelector('#html textarea');
var html_editor = CodeMirror.fromTextArea(html_box, cm_opt);
html_editor.on('change', function (inst, changes) {
render();
});
cm_opt.mode = 'css';
var css_box = document.querySelector('#css textarea');
var css_editor = CodeMirror.fromTextArea(css_box, cm_opt);
css_editor.on('change', function (inst, changes) {
render();
});
cm_opt.mode = 'javascript';
var js_box = document.querySelector('#js textarea');
var js_editor = CodeMirror.fromTextArea(js_box, cm_opt);
js_editor.on('change', function (inst, changes) {
render();
});
var cms = document.querySelectorAll('.CodeMirror');
for (var i = 0; i < cms.length; i++) {
cms[i].style.position = 'absolute';
cms[i].style.top = '30px';
cms[i].style.bottom = '0';
cms[i].style.left = '0';
cms[i].style.right = '0';
cms[i].style.height = '100%';
}
/*cms = document.querySelectorAll('.CodeMirror-scroll');
for (i = 0; i < cms.length; i++) {
cms[i].style.height = '100%';
}*/
}());
</script>