添加自定义脚本

您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档
信息

如需在门户每个页面的 <body> 标记之前添加自定义 JavaScript 代码或 HTML 内容,请执行以下操作:

  1. 选择发布 > 门户,然后选择您的门户。
  2. 点击着陆页上的设置。或者,您也可以在顶部导航栏的下拉菜单中选择设置
  3. 点击自定义脚本标签页。
  4. 自定义脚本部分中,在文本框内输入自定义 JavaScript 代码。您可以包含多个脚本。

  5. 点击保存

以下部分提供了自定义脚本的示例:

另请参阅配置 Google Analytics(分析)跟踪

在 onLoad 或 onUnload JavaScript 事件期间执行自定义脚本

定义门户中的每个页面在执行以下操作时要执行的自定义脚本:

  • 使用 onLoad JavaScript 事件加载到 DOM。
  • 导航远离使用 onUnload JavaScript 事件。

您的自定义函数必须定义为(在 window 变量中声明的)全局命名空间中 portal.pageEventListeners的一部分。

onLoadonUnload 事件均将页面的当前路径作为其第一个参数接收(如 /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 同意解决方案。很多在 JavaScript 中实现的常用开源选项;请选择符合您具体合规性要求的一个。

例如,以下脚本使用 Cookie 信息脚本

<script type="text/javascript" id="cookieinfo" src="//cookieinfoscript.com/js/cookieinfo.min.js">
</script>