我可以更改脚本src并让javascript运行新代码吗?

时间:2011-03-29 17:59:33

标签: javascript ajax arrays asynchronous

我有一个实际上是演示文稿的页面,就像powerpoint一样。这是一个无限循环,自上次以来用ajax更新自己下载新的演示文稿内容。

现在,当用户决定更改幻灯片中的过渡效果时,此后续行可能会发生变化。

<script id='transition' type='text/javascript' src='transitions/script/slide_off_to_right_fade.js'></script> 

但是,即使我用例如

替换整个标签
<script id='transition' type='text/javascript' src='transitions/script/fade_in_out.js'></script> 

它仍然与最初加载文档时的情况相同。

是否有一个特殊的函数/方法来调用来实现这个目的?非常感谢。

聚苯乙烯。跟踪幻灯片数量和每张幻灯片停留时间的数组也存在同样的问题 - 我更新了函数中的时间并运行了函数,但就好像我从未改变过一样......更多关于在另一篇文章......

2 个答案:

答案 0 :(得分:4)

您可以动态创建脚本元素并将其插入DOM。如果您不使用jQuery,可以使用纯Javascript执行此操作,如下所示:

  var ref    = document.getElementsByTagName('script')[0],
      script = document.createElement('script');
  script.setAttribute('type', 'text/javascript');
  script.setAttribute('src',  'transitions/script/fade_in_out.js');
  script.setAttribute('id',   'newTransition');
  ref.parentNode.insertBefore(script, ref);

答案 1 :(得分:2)

创建一个新的<script>元素并将其添加到DOM树应该可行。如果您使用的是jQuery之类的JavaScript库,则可以使用方便的getScript()函数。