元件側載 component-sideloading
概觀 overview
當網頁設計成簡單的單頁應用程式時,Communities元件旁載會很有用,該應用程式會根據網站訪客的選取內容來動態地變更顯示內容。
當Communities元件不存在於頁面範本中,而是根據網站訪客的選擇以動態方式新增時,即可完成這項作業。
由於社交元件架構(SCF)具有輕量型存在,因此只會註冊初始頁面載入時存在的SCF元件。 若要在頁面載入後註冊動態新增的SCF元件,必須叫用SCF來「側載」元件。
當頁面設計為側載Communities元件時,可以快取整個頁面。
動態新增SCF元件的步驟如下:
NOTE
不支援非現有資源的旁載作業。
動態新增元件至DOM dynamically-add-component-to-dom
無論元件是以動態方式包含或動態載入,必須先將其新增至DOM。
新增SCF元件時,最常使用的標籤是DIV標籤,但也可能使用其他標籤。 因為SCF只會在頁面初次載入時檢查DOM,所以在明確叫用SCF之前,不會注意到DOM的這項新增。
無論使用何種標籤,元素至少都必須包含這兩個屬性,以符合一般的SCF根元素模式:
-
資料元件識別碼
新增元件的有效路徑。
-
data-scf-component
元件的resourceType。
以下是新增的註釋元件範例:
<div
class="scf-commentsystem scf translation-commentsystem"
data-component-id="<%= currentPage.getPath()%>/jcr:content/content-left/comments"
data-scf-component="social/commons/components/hbs/comments"
>
</div>
透過叫用SCF進行側載 sideload-by-invoking-scf
動態包含 dynamic-inclusion
動態包含使用啟動載入要求,導致SCF檢查DOM並啟動頁面上的所有SCF元件。
若要在頁面載入後隨時初始化SCF元件,只需引發JQuery事件,如下所示:
$(document).trigger(SCF.events.BOOTSTRAP_REQUEST);
動態載入 dynamic-loading
動態載入可讓您控制載入SCF元件。
您可以使用此JavaScript方法指定要載入的特定SCF元件,而不需啟動載入在DOM中找到的所有SCF元件:
SCF.addComponent(document.getElementById(*someId*));
其中someId
是data-component-id
屬性的值。
recommendation-more-help
81e2cd9d-0789-409d-b87c-2a8ce4f28791