1

我正在使用 Twitter 搜索小部件,目前我将 javascript 嵌入到 HTML 的正文标签中,如下所示:

<body>
 <script charset="utf-8" src="https://widgets.twimg.com/j/2/widget.js"></script>
 <script>
        new TWTR.Widget({
                  version: 2,
                  type: 'faves',
                  rpp: 1,
                  interval: 7200000,
                  title: '',
                  subject: '',
                  width: 500,
                  height: 65,
                  theme: {
                    shell: {
                      background: '#a4c9b9',
                      color: '#ffffff'
                    },
                    tweets: {
                      background: '#a4c9b9',
                      color: '#ffffff',
                      links: '#444444'
                    }
                  },
                  features: {
                    scrollbar: true,
                    loop: false,
                    live: false,
                    behavior: 'all'
                  }
                }).render().setUser('exampleuser').start();
     </script>
 </body>

相反,我宁愿将所有 javascript 移动到页眉(或者可能是页脚?)标记,然后简单地将它呈现在没有标记的正文中。有没有一种简单的方法可以做到这一点?

4

1 回答 1

3

您可以使用任一本机 JS ...

window.onload = function() {
    // your code here
};

或 jQuery...

$(document).ready(function() {
    // your code here
});

...以确保在文档完成加载之前代码不会运行。

这解释了 window.onload 和 $(document).ready() 之间的细微差别。

另一种选择是将您的代码包装在一个命名函数中并在某处的主体中调用它,但您仍然必须将它放在 <script> 标记中。

编辑:使用 window.onload ...

<html>
<head>
<script>
window.onload = function() {
    new TWTR.Widget({
              version: 2,
              type: 'faves',
              rpp: 1,
              interval: 7200000,
              title: '',
              subject: '',
              width: 500,
              height: 65,
              theme: {
                shell: {
                  background: '#a4c9b9',
                  color: '#ffffff'
                },
                tweets: {
                  background: '#a4c9b9',
                  color: '#ffffff',
                  links: '#444444'
                }
              },
              features: {
                scrollbar: true,
                loop: false,
                live: false,
                behavior: 'all'
              }
            }).render().setUser('exampleuser').start();
};
</script>
</head>
<body></body></html>
于 2012-05-14T19:18:14.447 回答