本頁適用於 Apigee 和 Apigee Hybrid。
查看
Apigee Edge 說明文件。
如要在入口網站的每個網頁上,在 <body>
標記前新增自訂 JavaScript 程式碼或 HTML 內容,請按照下列步驟操作:
Cloud 控制台 UI
在 Apigee in Cloud 控制台中,依序前往「Distribution」>「Portals」頁面。
按一下導覽選單中的「設定」。
在「自訂指令碼」部分,在文字方塊中輸入自訂 JavaScript 程式碼。您可以加入多個指令碼。
按一下 [儲存]。
傳統版 UI
- 依序選取「發布」>「入口網站」,然後選取入口網站。
- 按一下到達網頁上的「設定」。或者,您也可以在頂端導覽列的下拉式選單中選取「設定」。
- 按一下「自訂指令碼」分頁標籤。
- 在「自訂指令碼」部分,在文字方塊中輸入自訂 JavaScript 程式碼。您可以加入多個指令碼。
- 按一下 [儲存]。
以下各節提供自訂指令碼範例:
另請參閱「設定 Analytics 追蹤」。
在 onLoad 或 onUnload JavaScript 事件期間執行自訂指令碼
定義在入口網站的每個網頁執行的自訂指令碼:
- 使用
onLoad
JavaScript 事件載入 DOM。 - 使用
onUnload
JavaScript 事件離開。
自訂函式必須定義為全域命名空間中的 portal.pageEventListeners
的一部分 (在 window
變數中宣告)。
onLoad
和 onUnload
事件都會接收網頁目前的路徑做為第一個參數 (例如 /quickstart
)。onUnload
函式會接收 onLoad
呼叫的傳回值做為第二個參數,讓兩個事件之間能傳遞背景資訊。使用 onUnload
清理不再需要的事件監聽器,並執行其他清理活動。
例如:
<script>
window.portal = {};
window.portal.pageEventListeners = {
onLoad: (path) => {
if (path === '/quickstart') {
// Change text content of first <p> element to something
// else. (DOM must be loaded when onLoad is called)
document.getElementsByTagName('p')[0].textContent =
'Welcome to the quick start! Be sure to send us your feedback.';
// print a custom message to the console every second while user is on
// quickstart page.
const interval =
window.setInterval(() => console.log('Hello'), 1000);
return interval;
}
return undefined;
},
onUnload: (path, contextReturnedFromOnLoad) => {
if (contextReturnedFromOnLoad != null) {
// Stop printing custom message to console every second.
window.clearInterval(contextReturnedFromOnLoad)
}
},
};
</script>
新增 Cookie 同意聲明彈出式視窗
您可以使用自訂指令碼導入 Cookie 同意聲明解決方案。JavaScript 中實作了許多熱門的開放原始碼選項,請選取符合特定法規遵循要求的選項。
舉例來說,下列指令碼會使用 Cookie 資訊指令碼。
<script type="text/javascript" id="cookieinfo" src="//cookieinfoscript.com/js/cookieinfo.min.js">
</script>