2015-04-03 169 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