0
我有一個在HTA(MSFT HTML應用程序)中運行的應用程序,它在整個幀中一遍又一遍地使用相同的腳本文件;因爲這會在地點達到9,並且隨着應用程序在各種服務器中設置,並且緩存設置爲立即過期,我正試圖在這個泥球中劃出某種表現。跨幀腳本重用
是否有一個「好」的方式來加載主腳本文件的頂部框架,然後excuting它內部框架,即
---頂部窗口----
var MainScript = function(){ return (function(){ all current functions etc here })(); };
- - 副車架----
var FrameScript = top.MainScript;
FrameScript();
而且怎麼會變成這樣通過窗口範圍的影響(它將繼續上面的窗口範圍或者是在框架窗口的範圍)
這種方法消除重複往返到服務器,但仍反覆'eval's相同的JavaScript。將js庫加載到頂層窗口並直接調用它的函數會更有效率(如果需要在框架窗口的上下文中調用它們,則使用'apply','call'或'bind'目的)。 – Doin 2013-04-21 19:54:33
@Doin和3年前一樣;而任何實施這個系統的人都應該失敗。我傾向於不在乎:爲了清楚起見,每個子幀都是可定製的(在xml級別)用於各種工作流等,並且腳本必須在子幀的上下文中執行。它可能通過調用父庫並傳遞窗口作爲參考來完成此操作,但本網站中的大量JS腳本使得上述操作變得更簡單(無需重寫50K +壞JS代碼行) – 2013-04-22 08:26:10