2015-04-03 124 views
0

我使用JavaScript动态更改标记的src属性script如何重新加载脚本标记

问题是,我想在重新执行之前“撤消”以前的JavaScript。 任何方式来做到这一点?

谢谢,

G3

+0

为什么你首先添加它?曾经想过[用ajax加载它](https://api.jquery.com/jquery.getscript/)? – joschuck 2015-04-03 18:27:14

+0

我想你会在这里找到答案。 http://stackoverflow.com/questions/9642205/how-to-force-a-script-reload-and-re-execute – Sohel 2015-04-03 18:27:49

+0

我添加它的原因是添加链接到导航栏,但是我想要这些改变的链接。 (这是一个用聚合物制成的打包的镀铬应用程序) – g3mini 2015-04-03 18:28:52

回答

0

我可以描述我用于实现在一个项目中的部分撤消的方法。丑陋,但可能会有用。首先,您可能需要重构脚本以在iframe中工作,并/或将其包装在with声明中,以便轻松访问父级中的某些对象(甚至不要想到with(opener);您会想要某种东西像with({someObject: opener.someObject})一样更精确

脚本运行时,它可以自由使用iframe的全局作用域和DOM,然后覆盖整个iframe而不是重新加载iframe,这会重置脚本在iframe中执行的所有操作

+0

CSP不喜欢Iframes =/ – g3mini 2015-04-03 18:49:37

+0

即使是iframe的内容是由主页面构成的document.write,对我来说似乎很安全...... – Touffy 2015-04-03 18:51:01