使用HTML代码添加JS文件

时间:2015-07-23 19:48:00

标签: javascript html

是否可以创建.js文件并向其添加html代码。我对将客户端脚本编码放入.js文件感兴趣。然后,我可以将该文件放在另一个位置,以调用它来加载HTML代码。

所有这些都在没有服务器类型支持的台式计算机上。

<script type="text/javascript" src="file.js"></script> 

我会把它添加到HEAD部分,这是我认为我需要的部分。但想知道是否有可能。

谢谢!

2 个答案:

答案 0 :(得分:0)

嗯,有几种方法可以做你想要的目标。

原始Javascript

的index.html:

<html>
  <body>
    <script src="content.js"></script>
  </body>
</html>

content.js:

document.write('<h1>Hello World</h1>');

但是你应该注意到,当你将HTML混合到JS中时,这对于大型HTML来说并不是很舒服。

模板引擎

更好的选择可能是模板引擎,例如Handlebars.js。 这使您可以保持HTML清洁,并与您的Javascript分开。 请参阅此示例:

的index.html:

<html>
  <body>
    <script src="handlebars.js"></script>
    <script src="content.js"></script>
  </body>
</html>

content.js:

var xhr = new XMLHttpRequest();
xhr.onload = function() {
  var template = Handlebars.compile(this.responseText);
  document.body.innerHTML += template()
};
xhr.open('get', 'template.html');
xhr.send();

template.html:

<h1>Hello {{name}}</h1>

这不会对您的本地文件系统起作用,但可以通过HTTP正常工作。

模板引擎的最大好处是能够填充动态内容,例如:

content.js:

var xhr = new XMLHttpRequest();
xhr.onload = function() {
  var template = Handlebars.compile(this.responseText);
  document.body.innerHTML += template({name: 'World'})
};
xhr.open('get', 'template.html');
xhr.send();

template()调用的参数中的属性将填充到模板内的相应{{name}}中。

答案 1 :(得分:-1)

请查看此代码:

case m := <-h.broadcast:
    for c := range h.connections {
        select {
        case c.send <- m:
        default:
            close(c.send)
            delete(h.connections, c)
        }
    }
}