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

问题描述 投票:0回答:2

我有一个页面,实际上是一个演示文稿,很像 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> 

它仍然执行与最初加载文档时相同的操作。

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

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

javascript ajax arrays asynchronous
2个回答
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);

2
投票

创建一个新的

<script>
元素并将其添加到 DOM 树中应该可以。如果您使用的是像 jQuery 这样的 JavaScript 库,您可以使用方便的 getScript() 函数。

© www.soinside.com 2019 - 2024. All rights reserved.