0

我有以下代码。我想在其他所有内容加载后加载内容。但似乎我只能加载html而不能加载javascript

 $(document).ready(function () {
  $("#twitter_left").html("<p><img align='left' alt='Twitter Bird' src='/sites/all/themes/helixTheme/images/twitter-bird.png' /><strong>&nbsp;&nbsp;Follow Us On Twitter</strong></p><p>&nbsp;</p><p><script charset='utf-8' src='http://widgets.twimg.com/j/2/widget.js'></script><script>new TWTR.Widget({version: 2,type: 'profile',rpp: 7,interval: 30000,width: 'auto',height: 800,theme: {shell: {background: '#dbe5ff',color: '#333333'},tweets: {background: '#ffffff',color: '#999999',links: '#f26422'}},features: {scrollbar: false,loop: true,live: false,behavior: 'default'}}).render().setUser('helixwebsites').start();</script></p>");});

所以我的下一个计划是将内容放在一个 html 文件中并使用.load处理程序,但我仍然希望它在所有页面都加载后加载。

4

3 回答 3

1

可能,您应该使用JQuery getScript函数以动态方式加载 JavaScript 然后运行它。

于 2012-07-22T09:31:02.987 回答
1
$(document).ready(function () {
  $("body").append("<h1>insert html dynamically</h1>");

  var script = document.createElement('script');
  script.type = 'text/javascript';
  var code = "alert('insert script dynamically');";
  $(script).append(code);
  $("body").append(script);

  var script2 = document.createElement('script');
  script2.type = 'text/javascript';
  script2.src = 'path/your/javascript.js';
  $("body").append(script2);

});

在您的代码中:

$("#twitter_left").html("<p><img align='left' alt='Twitter Bird' src='/sites/all/themes/helixTheme/images/twitter-bird.png' /><strong>&nbsp;&nbsp;Follow Us On Twitter</strong></p><p>&nbsp;</p>");
$("#twitter_left").append(script2);

在新窗口中加载 javascript:

$(document).ready(function () {
  var newPage = window.open('', '_blank');
  newPage.document.write("<h1>insert html dynamically</h1>");
  newPage.document.write("<script>alert(1)</" + "script>");
});
于 2012-07-22T09:26:38.243 回答
1

你可以加载所有你想要的javascript。在这之间:

$(document).ready(function(){

});

你可以编写任何你想要的javascript。它可以是 jQuery 或非 jQuery javascript 代码。例子:

$(document).ready(function(){
    alert("Document is now ready");
});
于 2012-07-22T09:12:30.810 回答