2012-09-17 64 views
1

爲我們的客戶做一個嵌入代碼,所以客戶端可以有多個嵌入我們的代碼(不能通過iframe)。我想嘗試requirejs做到這一點,所以我的問題是,如果我在同一頁面上有多個requirejs,都加載不同的js與不同的路徑+墊片,他們兩個的oncomplete函數的工作?多個Requirejs在同一頁

,就像客戶端會對主要內容(其具體頁面上CMS)

<script src="myexample.com/video.js?key=123"></script> 

,並在側邊欄(在他們的CMS上的所有頁面)

<script src="myexample.com/content.js?key=123"></script> 

所以我的視頻.js文件將有

require.config({path: { video : '' }..., shim : {} ....}); 
require(['video','utils'], function(){ do something on video }); 

和content.js會有

require.config({path: { content : '' }..., shim : {} ....}); 
require(['content','dom'], function(){ do something on content }); 

從我這裏走的https://groups.google.com/forum/?fromgroups=#!topic/requirejs/MwQ-CNHxGKc這兩個函數似乎不可能被執行,這意味着它只會處理其中的一個。

如果在requirejs中不可能的話,有人可能會指向其他amd裝載程序。由於

+0

在兩個不同的地點爲什麼你會在投入的配置選項? –

+0

因爲我們的客戶端必須分別嵌入2+,其中一個嵌入將在所有頁面中,而另一個將在特定頁面中,配置選項將在後端動態創建,具體取決於嵌入的內容 – monmonja

回答

0

你可以使用一個裝載機具有最小功能啓動模塊的兩個:

require(['video','content'], function(video, content){ 
    video.start(); 
    content.start(); 
}); 
+0

我無法做到這一點因爲客戶端不必分別有2個嵌入,其中一個嵌入將在所有頁面中,而另一個將在特定頁面中 – monmonja