嵌入的 JavaScript 事件

建立嵌入項目後 (可透過公開私人已簽署的嵌入API 進行),您就可以使用 JavaScript 與這些 iframe 互動。您可以根據嵌入項目的狀態,讓網頁更具動態性,甚至還可透過網頁變更嵌入項目。

請注意,Looker 不會控制瀏覽器將事件調度至網頁應用程式的順序。也就是說,我們無法保證事件在瀏覽器或平台之間的順序。請務必妥善編寫 JavaScript,以便處理不同瀏覽器的事件。

您可以透過下列任一方式,在 Looker 內嵌內容中使用 JavaScript:

準備

如要與嵌入的 iframe 互動,請先按照下列步驟操作:

在 iframe 中新增 ID

稍後,當您從 iframe 擷取資料時,請務必驗證所用資訊確實來自 Looker 的 iframe。為方便這項操作,請務必在 iframe 中加入 ID (如果尚未加入)。在以下範例中,您將 id="looker" 新增至 iframe,並將 ID 設為 looker

<iframe id="looker" src="https://instance_name.looker.com/embed/dashboards/1"></iframe>

將內嵌網域新增至 iframe src 屬性

在 iframe 的 src 屬性中,加入 iframe 使用的網域。在以下範例中,您可以在 src 屬性中將 ?embed_domain=https://myownpersonaldomain.com" 新增至網址結尾,藉此將 myownpersonaldomain.com 指定為網域:

<iframe
  id="looker"
  src="https://instance_name.looker.com/embed/dashboards/1?embed_domain=https://myownpersonaldomain.com">
</iframe>

如果您使用已簽署的嵌入功能,請務必將 embed_domain 新增至嵌入網址

如果您使用的是 Embed SDK,請將 sdk=3 加到嵌入網址的結尾。sdk=3 參數表示 SDK 已存在,Looker 可利用 SDK 提供的其他功能,例如在 Looker iframe 和網域之間傳遞 JavaScript 事件。這個參數是已簽署網址的一部分,因此 SDK 無法自行新增。例如:

<iframe
  id="looker"
  src="https://instance_name.looker.com/embed/dashboards/1?embed_domain=https://myownpersonaldomain.com&sdk=2">
</iframe>

將嵌入網域加入許可清單

最後,請按照下列步驟,在 Looker 「管理」面板的「嵌入」頁面中,將使用 iframe 的網域加入允許清單:

  1. 在「嵌入網域許可清單」欄位中輸入 iframe 所在的網域,然後按下 Tab 鍵,讓網域顯示在欄位內的方塊中。

  2. 按一下「更新」

您可以使用許可清單中的 * 萬用字元建立網域模式。例如 https://*.myownpersonaldomain.com 會允許 https://analytics.myownpersonaldomain.comhttps://data.myownpersonaldomain.com

如果您使用 Looker 23.8 以上版本的無 Cookie 嵌入功能,則可在取得無 Cookie 工作階段時指定嵌入網域。這是在「管理」>「嵌入」面板中,將嵌入網域新增至許可清單的替代做法。如果您決定使用這項功能,請參閱安全性最佳做法

從 iFrame 擷取資料

完成準備步驟後,您可以監聽 postMessage 事件,存取 Looker iframe 和網域之間傳遞的事件。

嵌入的 iframe 可建立幾種事件類型,請參閱本頁的「事件類型參考資料」一節。

在 JavaScript 中存取事件

以下範例說明如何在 JavaScript 中監聽這些事件,然後將事件記錄到控制台:

window.addEventListener("message", function(event) {
  if (event.source === document.getElementById("looker").contentWindow) {
    if (event.origin === "https://instance_name.looker.com") {
      console.log(JSON.parse(event.data));
    }
  }
});

以下範例說明如何在 jQuery 中監聽這些事件,然後將事件記錄到控制台:

$(window).on("message", function(event) {
  if (event.originalEvent.source === $("#looker")[0].contentWindow) {
    if (event.origin === "https://instance_name.looker.com") {
      console.log(JSON.parse(event.data));
    }
  }
});

事件類型摘要表

下表列出事件類型。選取事件類型即可查看該事件的詳細資料。

事件類型 事件原因
dashboard:loaded 在未將資訊方塊設為自動執行的資訊主頁上,資訊主頁及其元素已載入,但查詢尚未執行。
dashboard:run:start 資訊主頁已開始載入,其資訊方塊也開始載入並查詢資料。
dashboard:run:complete 資訊主頁已停止運作,所有資訊方塊都已完成載入和查詢。
dashboard:download 系統已開始下載資訊主頁的 PDF 檔案。
dashboard:edit:start 新增 22.20 資訊主頁已切換至編輯模式。資訊主頁儲存成功時,系統會觸發 dashboard:save:complete 事件。
dashboard:edit:cancel 新增 22.20 在編輯模式下,資訊主頁已從編輯模式退出且未儲存。
dashboard:save:complete 已編輯並儲存資訊主頁。
dashboard:delete:complete 已刪除資訊主頁。
dashboard:tile:start 資訊方塊已開始載入或查詢資料。
dashboard:tile:complete 資訊方塊已完成查詢執行作業。
dashboard:tile:download 資訊方塊的資料已開始下載。
dashboard:tile:explore 使用者已按下資訊主頁資訊方塊中的「從這裡探索」選項。
dashboard:tile:view 使用者已按下資訊主頁資訊方塊中的「查看原始外觀」選項。
dashboard:filters:changed 已套用或變更資訊主頁的篩選器。
look:ready Look 已開始載入查詢資料,無論查詢是否會執行。
look:run:start Look 已開始載入查詢資料,且查詢已開始執行。
look:run:complete Look 已完成查詢執行作業。
look:edit:start 新增 25.10 已將 Look 切換至編輯模式。儲存外觀時,系統會觸發 look:save:complete 事件。
look:edit:cancel 新增 25.10 處於編輯模式的 Look 已退出編輯模式,但未儲存。
look:save:complete 已編輯並儲存 Look。
look:delete:complete 系統已將 Look 圖表移至垃圾桶資料夾
drillmenu:click 使用者在使用 link LookML 參數建立的資訊主頁中,按一下鑽研選單。
drillmodal:download 使用者從資訊主頁資訊方塊開啟詳細資料對話方塊,然後按一下「下載」選項。
drillmodal:explore 使用者已在鑽研對話方塊中按下「從此處探索」選項。
explore:ready 探索已開始載入查詢資料,無論查詢是否會執行。
explore:run:start 探索已開始載入查詢資料,且查詢已開始執行。
explore:run:complete Explore 已完成查詢執行作業。
explore:state:changed 使用者採取的動作導致探索頁面網址變更。
page:changed 使用者已前往 iframe 中的新頁面。
page:properties:changed 資訊主頁 iframe 的高度已變更。
session:tokens Looker 用戶端需要憑證才能繼續。
session:expired 新增 25.10 使用者的工作階段已過期。
session:status 傳送工作階段狀態相關資訊。
env:client:dialog 開啟的對話方塊可能會部分顯示在畫面外,例如鑽研對話方塊。這個事件可讓代管應用程式將對話方塊捲動至檢視區塊。

事件類型參考資料

嵌入的 iframe 可建立多種不同類型的事件:

dashboard:loaded

在未將資訊方塊設為自動執行的資訊主頁上,系統會在資訊主頁及其元素載入後,但在執行查詢前建立這項事件。


type: "dashboard:loaded",
status: "complete",
dashboard: {
  id: 1,
  title: "Business Pulse",
  canEdit: true,
  dashboard_filters: {
    "date": "Last 6 Years",
    "state": ""
  },
  absoluteUrl: "https://self-signed.looker.com:9999/embed/dashboards/1?embed_domain=https%3A%2F%2Fblue-sea-697d.quartiers047.workers.dev%3A443%2Fhttps%2Fself-signed.looker.com%3A9999&date=Last+6+Years&state=",
  url: "/embed/dashboards/1?embed_domain=https%3A%2F%2Fblue-sea-697d.quartiers047.workers.dev%3A443%2Fhttps%2Fself-signed.looker.com%3A9999&date=Last+6+Years&state=",
  options: {
    layouts: [
      {
        id: 1,
        dashboard_id: 1,
        type: "newspaper",
        active: true,
        column_width: null,
        width: null,
        deleted: false,
        dashboard_layout_components: [
          {
            id: 1,
            dashboard_layout_id: 1,
            dashboard_element_id: 1,
            row: 0,
            column: 0,
            width: 8,
            height: 4,
            deleted: false
          },
          {
            id: 2,
            dashboard_layout_id: 1,
            dashboard_element_id: 2,
            row: 0,
            column: 8,
            width: 8,
            height: 4,
            deleted: false
          }
        ]
      }
    ],
    elements: {
      1: {
        title: "Total Orders",
        title_hidden: false,
        vis_config: {
          type: "single_value",
          font_size: "medium",
          title: "Total Orders"
        }
      },
      2: {
        title: "Average Order Profit",
        title_hidden: false,
        vis_config: {
          type: "single_value",
          title: "Average Order Profit"
        }
      }
    }
  }
}
屬性 格式 說明
status 字串 指出資訊主頁及其元素是否已成功載入。
dashboard.id 數字/字串 資訊主頁的 ID。
dashboard.title 字串 資訊主頁頂端顯示的標題。
dashboard.canEdit 布林值 新增 22.20 true 時,使用者可以編輯資訊主頁。
dashboard.dashboard_filters 物件 已套用至資訊主頁的篩選器。這個物件的格式為:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...}
dashboard.absoluteUrl 字串 完整的資訊主頁網址。
dashboard.url 字串 相對資訊主頁網址 (僅限路徑)。
dashboard.options 物件 資訊主頁版面配置資訊主頁版面配置元件資訊主頁元素屬性和值。您可以使用 dashboard:options:set 事件,為 options 物件中傳回的所有屬性提供更新值。

dashboard:run:start

當資訊主頁開始載入時,系統會建立這項事件,其資訊方塊會開始載入並查詢資料。

type: "dashboard:run:start",
dashboard: {
  id: 23,
  title: "My Dashboard",
  canEdit: true,
  url: "/embed/dashboards/...",
  absoluteUrl: "https://instance_name.looker.com/embed/dashboards/...",
  dashboard_filters: {
    "Date": "Last 28 days",
    "Total Orders": "Greater than 100"
  }
}
屬性 格式 說明
dashboard.id 數字/字串 資訊主頁的 ID。
dashboard.title 字串 資訊主頁頂端顯示的標題。
dashboard.canEdit 布林值 新增 22.20 true 時,使用者可以編輯資訊主頁。
dashboard.url 字串 相對資訊主頁網址 (僅限路徑)。
dashboard.absoluteUrl 字串 完整的資訊主頁網址。
dashboard.dashboard_filters 物件 已套用至資訊主頁的篩選器。這個物件的格式為:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...}

dashboard:run:complete

當資訊主頁執行完畢,且所有資訊方塊都已完成載入和查詢時,系統就會建立這項事件。無論所有圖塊是否已成功載入,系統都會建立這項事件。

type: "dashboard:run:complete",
status: "complete",
dashboard: {
  id: 23,
  title: "My Dashboard",
  canEdit: true,
  url: "/embed/dashboards/...",
  absoluteUrl: "https://my.looker.com/embed/dashboards/...",
  dashboard_filters: {
    "Date": "Last 28 days",
    "Total Orders": "Greater than 100"
  }
  options: {
    layouts: [
      {
        id: 1,
        dashboard_id: 1,
        type: "newspaper",
        active: true,
        column_width: null,
        width: null,
        deleted: false,
        dashboard_layout_components: [
          {
            id: 1,
            dashboard_layout_id: 1,
            dashboard_element_id: 1,
            row: 0,
            column: 0,
            width: 8,
            height: 4,
            deleted: false
          },
          {
            id: 2,
            dashboard_layout_id: 1,
            dashboard_element_id: 2,
            row: 0,
            column: 8,
            width: 8,
            height: 4,
            deleted: false
          }
        ]
      }
    ],
    elements: {
      1: {
        title: "Total Orders",
        title_hidden: false,
        vis_config: {
          type: "single_value",
          font_size: "medium",
          title: "Total Orders"
        }
      },
      2: {
        title: "Average Order Profit",
        title_hidden: false,
        vis_config: {
          type: "single_value",
          title: "Average Order Profit"
        }
      }
    }
  }
}
屬性 格式 說明
status 字串 指出資訊主頁及其元素是否已成功執行。如果資訊主頁及其元素已順利執行,status 會傳回 "complete";否則,status 會傳回 "error"。如果透過使用者介面或 dashboard:stop 動作停止執行中的資訊主頁,status 會傳回 "stopped"
dashboard.id 數字/字串 資訊主頁的 ID。
dashboard.title 字串 資訊主頁頂端顯示的標題。
dashboard.canEdit 布林值 新增 22.20 true 時,使用者可以編輯資訊主頁。
dashboard.url 字串 相對資訊主頁網址 (僅限路徑)。
dashboard.absoluteUrl 字串 完整的資訊主頁網址。
dashboard.dashboard_filters 物件 已套用至資訊主頁的篩選器。這個物件的格式為:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...}
dashboard.options 物件 資訊主頁版面配置資訊主頁版面配置元件資訊主頁元素屬性和值。您可以使用 dashboard:options:set 動作,為 options 物件中傳回的所有屬性提供更新值。
dashboard.tileStatuses 物件陣列 提供資訊方塊狀態的物件陣列。物件屬性如下:

  • tileId:圖塊的 ID 編號。
  • status:如果資訊方塊查詢已順利執行,status 會傳回 "complete";否則,status 會傳回 "error"
  • errors:當 status 屬性為 "error" 時,系統會填入這個值。物件陣列,提供錯誤詳細資料,包括錯誤訊息文字、錯誤的更詳細說明,以及產生錯誤的資訊方塊 SQL 查詢。

dashboard:download

當資訊主頁的 PDF 開始下載時,系統就會建立這項事件。

type: "dashboard:download",
dashboard: {
  id: 23,
  title: "My Dashboard",
  canEdit: true,
  url: "/embed/dashboards/...",
  absoluteUrl: "https://instance_name.looker.com/embed/dashboards/...",
  dashboard_filters: {
    "Date": "Last 28 days",
    "Total Orders": "Greater than 100"
  }
}
fileFormat: "pdf"
屬性 格式 說明
dashboard.id 數字/字串 資訊主頁的 ID。
dashboard.title 字串 資訊主頁頂端顯示的標題。
dashboard.canEdit 布林值 新增 22.20 true 時,使用者可以編輯資訊主頁。
dashboard.url 字串 相對資訊主頁網址 (僅限路徑)。
dashboard.absoluteUrl 字串 完整的資訊主頁網址。
dashboard.dashboard_filters 物件 已套用至資訊主頁的篩選器。這個物件的格式為:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...}
fileFormat 字串 下載的資訊主頁格式 (目前僅支援 "pdf")。

dashboard:edit:start

新增於 22.20 當資訊主頁切換至編輯模式時,系統會建立這個事件。

type: "dashboard:edit:start",
dashboard: {
  id: 23,
  title: "My Dashboard",
  canEdit: true,
  url: "/embed/dashboards/...",
  absoluteUrl: "https://instance_name.looker.com/embed/dashboards/...",
  dashboard_filters: {
    "Date": "Last 28 days",
    "Total Orders": "Greater than 100"
  }
}
屬性 格式 說明
dashboard.id 數字/字串 資訊主頁的 ID。
dashboard.title 字串 資訊主頁頂端顯示的標題。
dashboard.canEdit 布林值 新增 22.20 true 時,使用者可以編輯資訊主頁。
dashboard.url 字串 相對資訊主頁網址 (僅限路徑)。
dashboard.absoluteUrl 字串 完整的資訊主頁網址。
dashboard.dashboard_filters 物件 已套用至資訊主頁的篩選器。這個物件的格式為:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...}

dashboard:edit:cancel

新增於 22.20 當處於編輯模式的資訊主頁在未儲存的情況下退出編輯模式時,系統會建立這項事件。

type: "dashboard:edit:cancel",
dashboard: {
  id: 23,
  title: "My Dashboard",
  canEdit: true,
  url: "/embed/dashboards/...",
  absoluteUrl: "https://instance_name.looker.com/embed/dashboards/...",
  dashboard_filters: {
    "Date": "Last 28 days",
    "Total Orders": "Greater than 100"
  }
}
屬性 格式 說明
dashboard.id 數字/字串 資訊主頁的 ID。
dashboard.title 字串 資訊主頁頂端顯示的標題。
dashboard.canEdit 布林值 新增 22.20 true 時,使用者可以編輯資訊主頁。
dashboard.url 字串 相對資訊主頁網址 (僅限路徑)。
dashboard.absoluteUrl 字串 完整的資訊主頁網址。
dashboard.dashboard_filters 物件 已套用至資訊主頁的篩選器。這個物件的格式為:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...}

dashboard:save:complete

當資訊主頁經過編輯並儲存時,系統就會建立這項事件。

type: "dashboard:save:complete",
dashboard: {
  id: 23,
  title: "My Dashboard",
  canEdit: true,
  dashboard_filters: {
    "Date": "Last 28 days",
    "Total Orders": "Greater than 100"
  }
  absoluteUrl: "https://instance_name.looker.com/embed/dashboards/...",
  url: "/embed/dashboards/...",
  options: {
    layouts: [
      {
        id: 1,
        dashboard_id: 1,
        type: "newspaper",
        active: true,
        column_width: null,
        width: null,
        deleted: false,
        dashboard_layout_components: [
          {
            id: 1,
            dashboard_layout_id: 1,
            dashboard_element_id: 1,
            row: 0,
            column: 0,
            width: 8,
            height: 4,
            deleted: false
          },
          {
            id: 2,
            dashboard_layout_id: 1,
            dashboard_element_id: 2,
            row: 0,
            column: 8,
            width: 8,
            height: 4,
            deleted: false
          }
        ]
      }
    ],
    elements: {
      1: {
        title: "Total Orders",
        title_hidden: false,
        vis_config: {
          type: "single_value",
          font_size: "medium",
          title: "Total Orders"
        }
      },
      2: {
        title: "Average Order Profit",
        title_hidden: false,
        vis_config: {
          type: "single_value",
          title: "Average Order Profit"
        }
      }
    }
  }
}
屬性 格式 說明
dashboard.id 數字/字串 資訊主頁的 ID。
dashboard.title 字串 資訊主頁頂端顯示的標題。
dashboard.canEdit 布林值 新增 22.20 true 時,使用者可以編輯資訊主頁。
dashboard.dashboard_filters 物件 已套用至資訊主頁的篩選器。這個物件的格式為:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...}
dashboard.absoluteUrl 字串 完整的資訊主頁網址。
dashboard.url 字串 相對資訊主頁網址 (僅限路徑)。
dashboard.options 物件 資訊主頁版面配置資訊主頁版面配置元件資訊主頁元素屬性和值。您可以使用 dashboard:options:set 事件,為 options 物件中傳回的所有屬性提供更新值。

dashboard:delete:complete

刪除資訊主頁時會產生這項事件。

type: "dashboard:delete:complete",
dashboard: {
  id: 23,
  title: "My Dashboard",
  canEdit: true,
  dashboard_filters: {
    "Date": "Last 28 days",
    "Total Orders": "Greater than 100"
  }
  absoluteUrl: "https://instance_name.looker.com/embed/dashboards/...",
  url: "/embed/dashboards/...",
  options: {
    layouts: [
      {
        id: 1,
        dashboard_id: 1,
        type: "newspaper",
        active: true,
        column_width: null,
        width: null,
        deleted: false,
        dashboard_layout_components: [
          {
            id: 1,
            dashboard_layout_id: 1,
            dashboard_element_id: 1,
            row: 0,
            column: 0,
            width: 8,
            height: 4,
            deleted: false
          },
          {
            id: 2,
            dashboard_layout_id: 1,
            dashboard_element_id: 2,
            row: 0,
            column: 8,
            width: 8,
            height: 4,
            deleted: false
          }
        ]
      }
    ],
    elements: {
      1: {
        title: "Total Orders",
        title_hidden: false,
        vis_config: {
          type: "single_value",
          font_size: "medium",
          title: "Total Orders"
        }
      },
      2: {
        title: "Average Order Profit",
        title_hidden: false,
        vis_config: {
          type: "single_value",
          title: "Average Order Profit"
        }
      }
    }
  }
}
屬性 格式 說明
dashboard.id 數字/字串 資訊主頁的 ID。
dashboard.title 字串 資訊主頁頂端顯示的標題。
dashboard.canEdit 布林值 新增 22.20 true 時,使用者可以編輯資訊主頁。
dashboard.dashboard_filters 物件 已套用至資訊主頁的篩選器。這個物件的格式為:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...}
dashboard.absoluteUrl 字串 完整的資訊主頁網址。
dashboard.url 字串 相對資訊主頁網址 (僅限路徑)。
dashboard.options 物件 資訊主頁版面配置資訊主頁版面配置元件資訊主頁元素屬性和值。您可以使用 dashboard:options:set 事件,為 options 物件中傳回的所有屬性提供更新值。

dashboard:tile:start

當資訊方塊開始載入或查詢資料時,系統會建立這項事件。

type: "dashboard:tile:start",
dashboard: {
  id: 23,
  title: "My Dashboard",
  canEdit: true,
  url: "/embed/dashboards/...",
  absoluteUrl: "https://instance_name.looker.com/embed/dashboards/...",
  dashboard_filters: {
    "Date": "Last 28 days",
    "Total Orders": "Greater than 100"
  }
}
tile: {
  id: 123,
  title: "Quarterly Sales",
  listen: {
    "Date": "order.date",
    "Total Orders": "order.count"
  }
}
屬性 格式 說明
dashboard.id 數字/字串 資訊方塊所屬資訊主頁的 ID。
dashboard.title 字串 資訊主頁標題,會顯示在資訊主頁 (資訊方塊所屬的資訊主頁) 頂端。
dashboard.canEdit 布林值 新增 22.20 true 時,使用者可以編輯資訊主頁。
dashboard.url 字串 資訊方塊所屬的相對資訊主頁網址 (僅限路徑)。
dashboard.absoluteUrl 字串 資訊方塊所屬的完整資訊主頁網址。
dashboard.dashboard_filters 物件 套用至資訊主頁 (資訊方塊所屬的資訊主頁) 的篩選器。這個物件的格式為:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...}
tile.id 整數 事件的 ID 編號,而非資訊方塊。
tile.title 字串 資訊方塊標題,會顯示在資訊方塊頂端。
tile.listen 物件 這個資訊方塊會接聽的全球資訊主頁篩選器。這個物件的格式為:{"Filter Label": "Filter Field", ...}

dashboard:tile:complete

動態磚執行查詢完成後,系統就會建立這項事件。

type: "dashboard:tile:complete",
dashboard: {
  id: 23,
  title: "My Dashboard",
  canEdit: true,
  url: "/embed/dashboards/...",
  absoluteUrl: "https://instance_name.looker.com/embed/dashboards/...",
  dashboard_filters: {
    "Date": "Last 28 days",
    "Total Orders": "Greater than 100"
  }
}
status: "complete",
truncated: false,
tile: {
  id: 123,
  title: "Quarterly Sales",
  listen: {
    "Date": "order.date",
    "Total Orders": "order.count"
  }
}
屬性 格式 說明
dashboard.id 數字/字串 資訊方塊所屬資訊主頁的 ID。
dashboard.title 字串 資訊主頁標題,會顯示在資訊主頁 (資訊方塊所屬的資訊主頁) 頂端。
dashboard.canEdit 布林值 新增 22.20 true 時,使用者可以編輯資訊主頁。
dashboard.url 字串 資訊方塊所屬的相對資訊主頁網址 (僅限路徑)。
dashboard.absoluteUrl 字串 資訊方塊所屬的完整資訊主頁網址。
dashboard.dashboard_filters 物件 套用至資訊主頁 (資訊方塊所屬的資訊主頁) 的篩選器。這個物件的格式為:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...}
status 字串 資訊方塊查詢是否順利完成。可能的值為 "complete""error"
truncated 布林值 查詢傳回的列數超過查詢列數上限,因此切斷了資訊方塊查詢結果。列限制可以是使用者指定的列限制,也可以是 Looker 的預設列限制 (5,000 列)。
tile.id 整數 事件的 ID 編號,而非資訊方塊。
tile.title 字串 資訊方塊標題,會顯示在資訊方塊頂端。
tile.listen 物件 這個資訊方塊會接聽的全球資訊主頁篩選器。這個物件的格式為:{"Filter Label": "Filter Field", ...}
tile.errors 物件陣列 status 屬性為 "error" 時,系統會填入這項屬性。物件陣列,提供錯誤詳細資料,包括錯誤訊息文字、錯誤的更詳細說明,以及產生錯誤的資訊方塊 SQL 查詢。

dashboard:tile:download

當資訊方塊的資料開始下載時,系統會建立這項事件。

type: "dashboard:tile:download",
dashboard: {
  id: 23,
  title: "My Dashboard",
  canEdit: true,
  url: "/embed/dashboards/...",
  absoluteUrl: "https://instance_name.looker.com/embed/dashboards/...",
  dashboard_filters: {
    "Date": "Last 28 days",
    "Total Orders": "Greater than 100"
  }
}
tile: {
  id: 123,
  title: "Quarterly Sales"
  listen: {
    "Date": "order.date",
    "Total Orders": "order.count"
  }
}
fileFormat: "pdf"
屬性 格式 說明
dashboard.id 數字/字串 資訊方塊所屬資訊主頁的 ID。
dashboard.title 字串 資訊主頁標題,會顯示在資訊主頁 (資訊方塊所屬的資訊主頁) 頂端。
dashboard.canEdit 布林值 新增 22.20 true 時,使用者可以編輯資訊主頁。
dashboard.url 字串 資訊方塊所屬的相對資訊主頁網址 (僅限路徑)。
dashboard.absoluteUrl 字串 資訊方塊所屬的完整資訊主頁網址。
dashboard.dashboard_filters 物件 套用至資訊主頁 (資訊方塊所屬的資訊主頁) 的篩選器。這個物件的格式為:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...}
tile.id 整數 事件的 ID 編號,而非資訊方塊。
tile.title 字串 資訊方塊標題,會顯示在資訊方塊頂端。
tile.listen 物件 這個資訊方塊會接聽的全球資訊主頁篩選器。這個物件的格式為:{"Filter Label": "Filter Field", ...}
fileFormat 字串 下載的資訊方塊格式 (目前僅支援 "pdf")。

dashboard:tile:explore

當使用者在資訊主頁資訊方塊中點選「從這裡探索」選項時,系統會建立這項事件。

type: "dashboard:tile:explore",
label: 'Explore From Here',
url: '/embed/explore/model/view...',
dashboard: {
  id: 23,
  title: "My Dashboard",
  canEdit: true,
  url: "/embed/dashboards/...",
  absoluteUrl: "https://instance_name.looker.com/embed/dashboards/...",
  dashboard_filters: {
    "Date": "Last 28 days",
    "Total Orders": "Greater than 100"
  }
}
tile: {
  id: 123,
  title: "Quarterly Sales",
  listen: {
    "Date": "order.date",
    "Total Orders": "order.count"
  }
}
屬性 格式 說明
label 字串 按鈕標籤。
url 字串 要查看的探索內容的相對網址 (僅限路徑)。
dashboard.id 數字/字串 資訊方塊所屬資訊主頁的 ID。
dashboard.title 字串 資訊主頁標題,會顯示在資訊主頁 (資訊方塊所屬的資訊主頁) 頂端。
dashboard.canEdit 布林值 新增 22.20 true 時,使用者可以編輯資訊主頁。
dashboard.url 字串 資訊方塊所屬的相對資訊主頁網址 (僅限路徑)。
dashboard.absoluteUrl 字串 資訊方塊所屬的完整資訊主頁網址。
dashboard.dashboard_filters 物件 套用至資訊主頁 (資訊方塊所屬的資訊主頁) 的篩選器。這個物件的格式為:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...}
tile.id 整數 事件的 ID 編號,而非資訊方塊。
tile.title 字串 資訊方塊標題,會顯示在資訊方塊頂端。
tile.listen 物件 這個資訊方塊會接聽的全球資訊主頁篩選器。這個物件的格式為:{"Filter Label": "Filter Field", ...}

dashboard:tile:view

使用者在資訊主頁資訊方塊中點選「View Original Look」選項時,系統會建立這項事件。

type: "dashboard:tile:view",
label: 'View Original Look',
url: '/embed/look/...',
dashboard: {
  id: 23,
  title: "My Dashboard",
  canEdit: true,
  url: "/embed/dashboards/...",
  absoluteUrl: "https://instance_name.looker.com/embed/dashboards/...",
  dashboard_filters: {
    "Date": "Last 28 days",
    "Total Orders": "Greater than 100"
  }
}
tile: {
  id: 123,
  title: "Quarterly Sales",
  listen: {
    "Date": "order.date",
    "Total Orders": "order.count"
  }
}
屬性 格式 說明
label 字串 按鈕標籤。
url 字串 要查看的 Look 的相對網址 (僅限路徑)。
dashboard.id 數字/字串 資訊方塊所屬資訊主頁的 ID。
dashboard.title 字串 資訊主頁標題,會顯示在資訊主頁 (資訊方塊所屬的資訊主頁) 頂端。
dashboard.canEdit 布林值 新增 22.20 true 時,使用者可以編輯資訊主頁。
dashboard.url 字串 資訊方塊所屬的相對資訊主頁網址 (僅限路徑)。
dashboard.absoluteUrl 字串 資訊方塊所屬的完整資訊主頁網址。
dashboard.dashboard_filters 物件 套用至資訊主頁 (資訊方塊所屬的資訊主頁) 的篩選器。這個物件的格式為:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...}
tile.id 整數 事件的 ID 編號,而非資訊方塊。
tile.title 字串 資訊方塊標題,會顯示在資訊方塊頂端。
tile.listen 物件 這個資訊方塊會接聽的全球資訊主頁篩選器。這個物件的格式為:{"Filter Label": "Filter Field", ...}

dashboard:filters:changed

當您套用或變更資訊主頁的篩選器時,系統就會建立這項事件。

type: "dashboard:filters:changed",
dashboard: {
  id: 23,
  title: "My Dashboard",
  canEdit: true,
  url: "/embed/dashboards/...",
  absoluteUrl: "https://instance_name.looker.com/embed/dashboards/...",
  dashboard_filters: {
    "Date": "Last 28 days",
    "Total Orders": "Greater than 100"
  }
  options: {
    layouts: [
      {
        id: 1,
        dashboard_id: 1,
        type: "newspaper",
        active: true,
        column_width: null,
        width: null,
        deleted: false,
        dashboard_layout_components: [
          {
            id: 1,
            dashboard_layout_id: 1,
            dashboard_element_id: 1,
            row: 0,
            column: 0,
            width: 8,
            height: 4,
            deleted: false
          },
          {
            id: 2,
            dashboard_layout_id: 1,
            dashboard_element_id: 2,
            row: 0,
            column: 8,
            width: 8,
            height: 4,
            deleted: false
          }
        ]
      }
    ],
    elements: {
      1: {
        title: "Total Orders",
        title_hidden: false,
        vis_config: {
          type: "single_value",
          font_size: "medium",
          title: "Total Orders"
        }
      },
      2: {
        title: "Average Order Profit",
        title_hidden: false,
        vis_config: {
          type: "single_value",
          title: "Average Order Profit"
        }
      }
    }
  }
}
屬性 格式 說明
dashboard.id 數字/字串 資訊主頁的 ID。
dashboard.title 字串 資訊主頁頂端顯示的標題。
dashboard.canEdit 布林值 新增 22.20 true 時,使用者可以編輯資訊主頁。
dashboard.url 字串 相對資訊主頁網址 (僅限路徑)。
dashboard.absoluteUrl 字串 完整的資訊主頁網址。
dashboard.dashboard_filters 物件 已套用至資訊主頁的篩選器。這個物件的格式為:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...}
dashboard.options 物件 資訊主頁版面配置資訊主頁版面配置元件資訊主頁元素屬性和值。您可以使用 dashboard:options:set 事件,為 options 物件中傳回的所有屬性提供更新值。

look:ready

當 Look 開始載入查詢資料時,系統會建立這項事件,無論查詢是否執行皆是如此。

type: "look:ready",
look: {
  url: "/embed/looks/...",
  absoluteUrl: "https://instance_name.looker.com/embed/looks/...",
  }
屬性 格式 說明
look.url 字串 相對 Look 網址 (僅限路徑)
look.absoluteUrl 字串 Look 完整網址

look:run:start

當 Look 開始載入查詢資料,並開始執行查詢時,系統就會建立這項事件。

type: "look:run:start",
look: {
  url: "/embed/looks/...",
  absoluteUrl: "https://instance_name.looker.com/embed/looks/...",
  }
屬性 格式 說明
look.url 字串 相對 Look 網址 (僅限路徑)
look.absoluteUrl 字串 Look 完整網址

look:run:complete

當 Look 完成執行查詢時,系統就會建立這項事件。

type: look:run:complete
look: {
  url: "/embed/looks/...",
  absoluteUrl: "https://instance_name.looker.com/embed/looks/...",
  }
屬性 格式 說明
look.url 字串 相對 Look 網址 (僅限路徑)
look.absoluteUrl 字串 完整的 Look 網址

look:edit:start

新增 25.10 當外觀切換至編輯模式時,系統會觸發此事件。

type: "look:edit:start",
look: {
  id: 46,
  title: "My Look",
  url: "/embed/looks/46",
  absoluteUrl: "https://instance_name.looker.com/embed/looks/46",
}
屬性 格式 說明
look.id 字串 Look 的 ID。
look.title 字串 Look 的標題。
url 字串 相對 Look 網址 (僅限路徑)。
absoluteUrl 字串 Look 完整網址。

look:edit:cancel

新增 25.10 當處於編輯模式的 Look 在未儲存的情況下退出編輯模式時,系統會觸發這個事件。

type: "look:edit:cancel",
look: {
  id: 46,
  title: "My Look",
  url: "/embed/looks/46",
  absoluteUrl: "https://instance_name.looker.com/embed/looks/46",
}
屬性 格式 說明
look.id 字串 Look 的 ID。
look.title 字串 Look 的標題。
url 字串 相對 Look 網址 (僅限路徑)。
absoluteUrl 字串 Look 完整網址。

look:save:complete

編輯並儲存外觀時,系統會建立這項事件。使用者執行下列任務之一時,系統就會建立這項事件:

如果您是使用「儲存」 >「儲存至現有資訊主頁」或「編輯設定」選單選項儲存外觀,系統就不會建立這項活動。

type: look:save:complete
look: {
  url: "/embed/looks/...",
  absoluteUrl: "https://instance_name.looker.com/embed/looks/...",
  folderid: 123
  }
屬性 格式 說明
look.url 字串 相對 Look 網址 (僅限路徑)
look.absoluteUrl 字串 完整的 Look 網址
look.folderid 整數 儲存外觀的資料夾 ID

look:delete:complete

當 Look 移至「垃圾桶」資料夾時,系統會建立這項事件。

type: look:delete:complete
look: {
  url: "/embed/looks/...",
  absoluteUrl: "https://instance_name.looker.com/embed/looks/...",
  }
屬性 格式 說明
look.url 字串 相對 Look 網址 (僅限路徑)
look.absoluteUrl 字串 完整的 Look 網址

drillmenu:click

當使用者在使用 link LookML 參數建立的資訊主頁中點選鑽研選單時,系統就會產生這項事件。舉例來說,下列 LookML 會建立鑽研選單,讓使用者查看依 state 維度篩選的資料:


dimension: state {
  type: string
  sql: ${TABLE}.state ;;
  link: {
    label: "Filter by {{ state | encode_uri }}"
    url: "filter::q={{ state | encode_uri }}"
    icon_url: "https://google.com/favicon.ico"
  }
}

state 篩選器設為 Illinois 時,drillmenu:click 事件會將以下內容傳回 iframe 的主機:

type: "drillmenu:click",
label: "Filter by Illinois",
link_type: "url",
modal: false,
target: '_self',
url: "#filter::state=Illinois"
context: ' '
屬性 格式 說明
label 字串 鑽研選單中顯示的連結標籤
link_type 字串 連結目的地的物件類型
modal 布林值 是否使用鑽研對話方塊,而非瀏覽器導覽
target 字串 如果連結目的地會取代目前的 iframe,則為 _self;如果連結目的地會開啟新視窗,則為 _blank
url 字串 連結目的地的網址
context 字串 部分類型的顯示圖表會使用這項內部屬性

沙箱 iframe 可防止點選鑽研選單時,在新的視窗中開啟。請在 iframe 標記內使用以下沙箱值:

sandbox = "allow-same-origin allow-scripts"

drillmodal:download

當使用者從資訊主頁資訊方塊開啟鑽研對話方塊,並點選「下載」選項時,系統就會建立這項事件。

{
type: "drillmodal:download",
dashboard: {
  id: 23,
  title: "My Dashboard",
  url: "/embed/dashboards/…",
  absoluteUrl: "https://instance_name.looker.com/embed/dashboards/…",
  dashboard_filters: {
    "Date": "Last 28 days",
    "Total Orders": "Greater than 100"
  }
}
drillExploreUrl: "/embed...",
fileFormat: "pdf"
}
屬性 格式 說明
dashboard.id 數字/字串 資訊方塊所屬資訊主頁的 ID。
dashboard.title 字串 資訊主頁標題,會顯示在資訊主頁 (資訊方塊所屬的資訊主頁) 頂端。
dashboard.url 字串 資訊方塊所屬的相對資訊主頁網址 (僅限路徑)。
dashboard.absoluteUrl 字串 資訊方塊所屬的完整資訊主頁網址。
dashboard.dashboard_filters 物件 套用至資訊主頁 (資訊方塊所屬的資訊主頁) 的篩選器。這個物件的格式為:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...}
drillExploreUrl 字串 要下載的相對探索網址 (僅限路徑)。
fileFormat 字串 資料下載檔案格式。

drillmodal:explore

使用者在鑽研對話方塊中按一下「從這裡探索」選項時,系統會建立這項事件。

type: "drillmodal:explore",
label: "Explore From Here",
url: "/embed/explore/model/view..."
屬性 格式 說明
label 字串 鑽研選單中顯示的按鈕標籤
url 字串 要查看的相對探索網址 (僅限路徑)

explore:ready

當 Explore 開始載入查詢資料時,無論查詢是否執行,都會建立這項事件。

type: "explore:ready",
explore: {
  url: "/embed/explore/...",
  absoluteUrl: "https://instance_name.looker.com/embed/explore/...",
  }
屬性 格式 說明
explore.url 字串 相對的探索網址 (僅限路徑)
explore.absoluteUrl 字串 完整的探索網址

explore:run:start

當探索開始載入查詢資料,且查詢開始執行時,系統就會建立這項事件。

type: "explore:run:start",
explore: {
  url: "/embed/explore/...",
  absoluteUrl: "https://instance_name.looker.com/embed/explore/...",
  }
屬性 格式 說明
explore.url 字串 相對的探索網址 (僅限路徑)
explore.absoluteUrl 字串 完整的探索網址

explore:run:complete

當 Explore 完成執行查詢時,系統就會建立這個事件。

type: "explore:run:complete",
explore: {
  url: "/embed/explore/...",
  absoluteUrl: "https://instance_name.looker.com/embed/explore/...",
  }
}
屬性 格式 說明
explore.url 字串 相對的探索網址 (僅限路徑)
explore.absoluteUrl 字串 完整的探索網址

explore:state:changed

當使用者採取某些動作,導致探索頁面網址有所變更時,系統就會建立這項事件。

type: "explore:state:changed",
explore: {
  url: "/embed/explore/...",
  absoluteUrl: "https://instance_name.looker.com/embed/explore/..."
}
屬性 格式 說明
explore.url 字串 相對的探索網址 (僅限路徑)
explore.absoluteUrl 字串 完整的探索網址

page:changed

當使用者在 iframe 中前往新網頁時,系統就會建立這項事件。

type: "page:changed",
page: {
  type: "dashboard",
  url: "/embed/dashboards/...",
  absoluteUrl: "https://instance_name.looker.com/embed/dashboards/..."
}
屬性 格式 說明
page.type 字串 剛前往的頁面類型,例如 "dashboard""look""explore"
page.url 字串 剛前往的網頁相對網址 (僅路徑)
page.absoluteUrl 字串 剛前往的網頁完整網址

page:properties:changed

當資訊主頁 iframe 的高度變更時,系統就會建立這項事件。此選項不適用於 Look 或 Explore,因為這些項目會自動調整高度,以符合 iframe 的大小。

type: "page:properties:changed",
height: 1000
屬性 格式 說明
height 整數 資訊主頁 iframe 的高度 (以像素為單位)

session:tokens

這項事件表示 Looker 用戶端需要憑證才能繼續執行。這個事件會在建立 iframe 時立即建立,並在之後的工作階段期間定期產生。

{
  "type": "session:tokens",
  "api_token": "eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3NlbGYtc2lnbmVkLmxvb2tlci5jb206OTk5OSIsImV4cCI6MTY3MDYyNjMzMCwic3ViIjoiYVdrNWFGUzM4RnRwNzFFWXhuS3ZaMXdKRmV3ZjB2VzYtTV9zLWtCcHE1dXIiLCJ0b2tlbl90eXBlIjoiYXBpX3Rva2VuIiwicmFuZG9taXplciI6IkxjYnpOeDNTVjNOb3o3UVlqTVJjNmhlMkdodjh1a2UwWUhiZWNRMHVCYm1KIn0.CBv1__QGc_H7bKNe31SHMMQCsc5ya1xOiEv1UDWAyxM",
  "api_token_ttl": 463,
  "navigation_token": "eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3NlbGYtc2lnbmVkLmxvb2tlci5jb206OTk5OSIsImV4cCI6MTY3MDYyNjMzMCwic3ViIjoiYVdrNWFGUzM4RnRwNzFFWXhuS3ZaMXdKRmV3ZjB2VzYtTV9zLWtCcHE1dXIiLCJ0b2tlbl90eXBlIjoibmF2aWdhdGlvbl90b2tlbiIsInJhbmRvbWl6ZXIiOiJHVVNlc00tdTRPRDlNdktodFJDU2pEcVFhUkJNeTh5dm42Q1FDUXhuLTNxMiJ9.sWo7LUEI5LeragVmeDamUR7u2myXpFJ0aqK_IIALUqI",
  "navigation_token_ttl": 463,
  "session_reference_token_ttl": 2924
}
屬性 格式 說明
authentication_token 字串 驗證權杖。建立 iframe 時會加入。在回應中不會提供此值,除非是回應要求產生權杖,或是會話已過期。
authentication_token_ttl 數字 驗證權杖的存留時間 (以秒為單位)。建立 iframe 時會加入。在回應中不會提供此值,除非是回應要求產生權杖,或是會話已過期。
api_token 字串 API 權杖。如果工作階段已過期,則不包含這項資訊。
api_token_ttl 數字 API 權杖存留時間 (以秒為單位)。如果工作階段已過期,則不包含這項資訊。
navigation_token 字串 導覽符記。如果工作階段已過期,則不會納入。
navigation_token_ttl 數字 導覽權杖的存留時間 (以秒為單位)。如果工作階段已過期,則不包含這項資訊。
session_references_token_ttl 數字 工作階段的存留時間 (以秒為單位)。工作階段到期後,這個值會變成 0。如要復原,嵌入應用程式必須取得新的工作階段。

session:expired

新增 25.10 當嵌入使用者的工作階段到期時,系統會觸發這個事件。

type: "session:expired",

這個事件沒有酬載。

session:status

當嵌入式 Looker 應用程式處理工作階段符記要求時,系統會產生這項事件。

{
  "type": "session:status",
  "session_ttl": 0,
  "expired": true,
  "interrupted": false
}
屬性 格式 說明
session_ttl 數字 工作階段的存留時間 (以秒為單位)。
expired 布林值 如果為 true,表示工作階段已過期。
interrupted 布林值 如果為 true,表示系統未回應工作階段符記要求。這可能表示伺服器暫時無法使用。
recoverable 布林值 只有在中斷為 true 時才會填入。指出是否可以復原工作階段。如果值為 false,表示內嵌應用程式可能有問題。

env:client:dialog

當開啟的對話方塊 (例如鑽研對話方塊) 部分不在可視範圍內時,系統就會產生這項事件。這項事件可讓代管應用程式透過 env:host:scroll 動作,將對話方塊捲動至檢視畫面。

{
  type: "env:client:dialog",
  dialogType: 'drilling',
  placement: 'cover',
  open: true
}
屬性 格式 說明
type 字串 env:client:dialog 表示對話方塊已開啟或關閉。目前僅支援鑽研對話方塊,但日後可能會新增其他對話方塊。由於對話方塊會覆蓋 iframe 可視區域,因此鑽研對話方塊頂端可能無法顯示。這個事件可讓主機應用程式將對話方塊頂端捲動至檢視區塊。
dialogType 字串 對話方塊類型。只有開啟或關閉「鑽研」對話方塊類型時,才會觸發這項事件。
placement 字串 對話方塊的位置。類型為「鑽研」的對話方塊一律會使用「封面」的 placement
open 布林值 指出對話方塊是否已開啟或捲動。

變更 iframe

準備 iframe 以便擷取資料後,您可以按照下列步驟變更 iframe:

  1. 以 JSON 格式編寫要求
  2. 將要求發布至 iframe 的 contentWindow

以 JSON 格式編寫要求

您可以對 iframe 進行幾項變更,並以 JSON 表單提交。如要瞭解可用的選項,請參閱本頁的「動作參考資料」一節。別忘了使用 JSON.stringify 將動作轉換為 JSON,如下所示:

var my_request = JSON.stringify(
  {
    type: "dashboard:run"
  }
);

將要求發布至 iframe 的 contentWindow 屬性

最後,將訊息發布至 iframe 的 contentWindow,如下所示:

var my_iframe = document.getElementById("my_iframe_id");

my_iframe.contentWindow.postMessage(my_request, 'https://instance_name.looker.com');

行動摘要表

下表概略說明各項操作。選取動作即可查看該動作的詳細資料。

動作 動作說明
page:load 在 iframe 中載入新頁面,取代現有頁面。
dashboard:load 在 iframe 中載入新的資訊主頁,取代現有的資訊主頁。
dashboard:run 在 iframe 中執行資訊主頁。
dashboard:edit 新增 22.20 將資訊主頁切換至編輯模式
dashboard:filters:update 更新 iframe 中現有的資訊主頁篩選器。
dashboard:options:set 將新值寫入資訊主頁版面配置和資訊主頁元素屬性。
dashboard:schedule_modal:open 開啟排程工具,讓使用者將 Looker 內容傳送至各種目的地。
dashboard:stop 停止正在執行或重新載入資料的資訊主頁。
look:run 在 iframe 中執行 Look。
look:filters:update 更新 iframe 中現有的 Look 篩選器。
explore:run 在 iframe 中執行「探索」。
explore:filters:update 更新或移除 iframe 中的現有探索篩選器。
session:tokens:request 在回應 session:tokens:request 事件時傳送符記。
env:host:scroll 將主機 iframe 目前的捲動位置資訊傳送至嵌入的 Looker 應用程式。

動作參照

您可以將下列可用動作發布至嵌入的 iframe:

page:load

使用這項動作可前往 iframe 中的新內容,取代現有內容。這個動作與 dashboard:load 動作類似,但更具彈性,因為可在網址中指定額外參數。

使用 page:load 前,請先考量行為差異。如果目前的資訊主頁正在編輯中,dashboard:load 就會防止導覽作業發生。page:load 不會阻止導覽作業。主機應用程式可以追蹤 dashboard:edit:startlook:edit:start 和對應的編輯結束事件,判斷是否有人正在編輯資訊主頁或 Look。因此,我們建議您使用嵌入式 SDK。嵌入式 SDK 會追蹤資訊主頁或 Look 是否正在編輯,因此可以查詢連線,瞭解是否在導覽前編輯內容。

{
    type: 'page:load',
    url: '/embed/dashboard/32?state=california,
    pushHistory: false
}
屬性 格式 說明
type 字串 使用 page:load 類型表示您要將新內容載入 iframe。
url 字串 要載入的內容網址。
pushHistory 布林值 如果為 true,載入的內容會建立新的瀏覽器記錄項目,使用者可以使用瀏覽器的返回按鈕返回先前的內容。如果是 false,系統會替換目前的內容,且無法透過瀏覽器導覽返回該內容。

dashboard:load

使用這個動作可在 iframe 中載入新的資訊主頁,取代現有的資訊主頁。新的資訊主頁會開始執行查詢,就像是開啟新的資訊主頁頁面一樣。

{
  type: "dashboard:load",
  id: "101",
  pushHistory: false
}
屬性 格式 說明
type 字串 使用 dashboard:load 類型表示您要將新的資訊主頁載入至 iframe。
id 字串 要載入的資訊主頁 ID。
pushHistory 布林值 如果是 true,載入的資訊主頁會建立新的瀏覽器記錄項目,使用者可以使用瀏覽器的返回按鈕返回先前的資訊主頁。如果是 false,則會取代目前的資訊主頁,且無法透過瀏覽器導覽返回該頁面。

dashboard:run

使用這項動作可在 iframe 中執行資訊主頁。這與在資訊主頁上按下「Run」或「Reload Data」按鈕的動作相同。

{
  type: "dashboard:run"
}
屬性 格式 說明
type 字串 使用 dashboard:run 類型表示您要執行資訊主頁。

dashboard:edit

新增於 22.20 使用這個動作,即可將 iframe 中現有的資訊主頁切換至編輯模式。這與在資訊主頁選單中選取「編輯資訊主頁」的動作相同。

{
  type: "dashboard:edit"
}
屬性 格式 說明
type 字串 使用 dashboard:edit 類型表示您想將資訊主頁切換至編輯模式

dashboard:filters:update

使用這項動作可更新 iframe 中現有的資訊主頁篩選器。您無法使用這個方法在資訊主頁中新增篩選器。

{
  type: "dashboard:filters:update",
  filters: {
    "Sale date": "Last 28 days",
    "Sale amount": "Greater than 100"
  }
}
屬性 格式 說明
type 字串 使用 dashboard:filters:update 類型表示您想要更新資訊主頁使用的篩選器。
filters 物件 要套用至資訊主頁的新篩選器。這個物件的格式為:{"Filter name 1": "value 1", "Filter name 2": "value 2", ...}

dashboard:options:set

這項動作會在 dashboard:run:complete 事件發生後提供。

嵌入者建立訊息並傳送至 iframe,但資訊主頁會在 dashboard:run:complete 發生後才回應。dashboard:options:set 動作會將新值寫入資訊主頁版面配置和資訊主頁元素屬性。只有在 dashboard:run:complete 事件的 options 屬性中傳回的屬性,才能使用 dashboard:options:set 進行更新。系統會忽略 dashboard:run:complete 事件的 options 屬性先前未傳回的任何屬性集。

{
  type: "dashboard:options:set",
  layouts: [
    {
      id: 1,
      dashboard_id: 1,
      type: "newspaper",
      active: true,
      column_width: null,
      width: null,
      deleted: false,
      dashboard_layout_components: [
        {
          id: 1,
          dashboard_layout_id: 1,
          dashboard_element_id: 1,
          row: 0,
          column: 0,
          width: 8,
          height: 4,
          deleted: false
        },
        {
          id: 2,
          dashboard_layout_id: 1,
          dashboard_element_id: 2,
          row: 0,
          column: 8,
          width: 8,
          height: 4,
          deleted: false
        }
      ]
    }
  ],
  elements: {
    1: {
      title: "Total Orders",
      title_hidden: false,
      vis_config: {
        type: "single_value",
        font_size: "medium",
        title: "Total Orders"
      }
    },
    2: {
      title: "Average Order Profit",
      title_hidden: false,
      vis_config: {
        type: "single_value",
        title: "Average Order Profit"
      }
    }
  }
}
屬性 格式 說明
type 字串 使用 dashboard:options:set 類型表示您要將新值寫入資訊主頁版面配置和資訊主頁元素屬性。
layouts 物件 dashboard:run:complete 事件中 options 屬性傳回的 資訊主頁版面配置屬性。格式如下所示:

  • id: "string",
  • dashboard_id: "string",
  • type: "newspaper",
  • active: boolean,
  • column_width: number,
  • width: number
layouts.dashboard_layout_components 物件 dashboard:run:complete 事件中 options 屬性傳回的一或多個 資訊主頁版面配置元件物件。格式如下所示:

  • id: "string",
  • dashboard_layout_id: "string",
  • dashboard_element_id: "string",
  • row: number,
  • column: number,
  • width: number,
  • height: number,
  • deleted: boolean,
elements 物件 dashboard:run:complete 事件中 options 屬性傳回的一或多個 資訊主頁元素物件。格式如下所示:

id: {

  title: "string",

  title_hidden: boolean,

  vis_config: {

    type: "string", title: "string"

  }

}

dashboard:schedule_modal:open

使用這個動作可開啟排程工具,讓使用者將 Looker 內容提交至各種目的地。

{
  type: "dashboard:schedule_modal:open"
}
屬性 格式 說明
type 字串 使用 dashboard:schedule_modal:open 類型表示您要開啟「排程」對話方塊。

dashboard:stop

使用這項動作可停止正在執行或重新載入資料的資訊主頁。這與在資訊主頁上按一下「取消」按鈕的動作相同。已停止使用 dashboard:stop 的資訊主頁會傳送 dashboard:run:complete 事件,並將 status: 設為 "stopped"

{
  type: "dashboard:stop"
}
屬性 格式 說明
type 字串 使用 dashboard:stop 類型表示您要停止執行中的資訊主頁。

look:run

使用這個動作,執行 Look 在 iframe 中所依據的查詢。這項動作類似於按下 Look 上的「Run」按鈕,但 look:run 一律會直接查詢資料庫,不會從 Looker 快取擷取資料。

{
  type: "look:run"
}
屬性 格式 說明
type 字串 使用 look:run 類型表示您要執行 Look。

look:filters:update

使用此動作可更新 iframe 中現有的 Look 篩選器。您無法使用這個方法為 Look 新增篩選器。

{
  type: "look:filters:update",
  filters: {
    "orders.created_at": "90 days",
    "products.department": "sweaters"
  }
}
屬性 格式 說明
type 字串 使用 look:filters:update 類型表示您想要更新 Look 使用的篩選器。
filters 物件 要套用至外觀的新篩選器。這個物件的格式為:{"view_name.field_name_1": "value 1", "view_name.field_name_1": "value 2", ...}

explore:run

使用這個動作即可在 iframe 中執行探索。這項動作類似於按下「探索」頁面上的「執行」按鈕,但 explore:run 一律會直接查詢資料庫,不會從 Looker 快取中擷取資料。

{
  type: "explore:run"
}
屬性 格式 說明
type 字串 使用 explore:run 類型表示您要執行探索。

explore:filters:update

您可以使用這項動作,更新或移除 iframe 中的現有探索篩選器。加入參照有效欄位的篩選器,即可將新篩選器加入探索。

{
  type: "explore:filters:update",
  filters: {
    "orders.created_at": "90 days",
    "orders.status": "complete"
  }
  deleteFilters:  ["products.department"]
}
屬性 格式 說明
type 字串 使用 explore:filters:update 類型表示您想要更新「探索」使用的篩選器。
filters 物件 要套用至「探索」的新篩選條件。如果 filters 包含的篩選器不存在於探索中,但參照的是有效欄位,系統會將該篩選器新增至探索。這個物件的格式為 {"view_name.field_name_1": "value 1", "view_name.field_name_1": "value 2", ...}
deleteFilters 陣列 您要從「探索」中移除的現有篩選器。陣列的格式為:["view_name.field_name_1", "view_name.field_name_2", ...]

session:tokens:request

使用這個動作,在回應 session:tokens:request 要求時傳送權杖。

{
  type: "session:tokens:request",
}
屬性 格式 說明
type 字串 使用 session:tokens:request 類型表示您想在 session:tokens:request 事件發生時傳送符記。

env:host:scroll

使用這個動作,將主機 iframe 目前的捲動位置資訊傳送至嵌入的 Looker 應用程式。

{
  type: "env:host:scroll",
  offsetTop: 10,
  offsetLeft: 10,
  scrollX: 5,
  scrollY: 5
}
屬性 格式 說明
type 字串 使用 env:host:scroll 類型表示您想要將主機 iframe 目前的捲動位置資訊傳送至嵌入的 Looker 應用程式。
offsetTop 數字 iframe 的頂端偏移量。
offsetLeft 數字 iframe 左側的偏移量。
scrollX 數字 應用程式主機的 scrollX 位置。
scrollY 數字 應用程式主機的 scrollY 位置。