1

我正在尝试在 javascript onclick 函数中使用 window.open 来获取可点击的嵌入图像。由于某种原因,它不起作用。我正在尝试将其嵌入到 Google Looker 扩展框架中。

编辑:当我在 Looker Extension 框架上打开网页时,单击图像时没有任何反应。理想情况下,我希望在单击图像时在新选项卡中打开一个页面。

var img = new Image()
img.src =
'https://marketplace-api.looker.com/visualization-screenshots/report_table_icon.png'
img.onclick = function () {
   window.open('https://looker.com/', '_blank')
}
document.body.appendChild(img)
4

1 回答 1

1

我会先说我们正在积极致力于改进扩展框架的文档,所以很抱歉目前它有点不透明!

扩展框架是沙盒的,所以它不能访问一些标准的 javascript API,比如 window.open。要启动一个新窗口,您可以使用

extensionSDK.openBrowserWindow('https://looker.com/', '_blank')

有帮助的完整示例:


import React, { useContext } from 'react'
import { Space, ComponentsProvider, Text, Button } from '@looker/components'
import { ExtensionContext } from '@looker/extension-sdk-react'

export const HelloWorld = () => {

  const extensionContext = useContext(
    ExtensionContext
  )
  const { extensionSDK } = extensionContext

  const buttonClick = () => {
    extensionSDK.openBrowserWindow('https://google.com', '_blank')
  }

  return (
    <>
      <ComponentsProvider>
        <Space p="xxxxxlarge" width="100%" height="50vh" around>
          <Text p="xxxxxlarge" fontSize="xxxxxlarge">
            openBrowserWindow example
          </Text>
          <Button onClick={buttonClick}> click me </Button>
        </Space>
      </ComponentsProvider>
    </>
  )
}

于 2021-03-25T05:13:40.997 回答