如何解决为什么 window.open 不能与 Looker 的扩展框架一起使用?
我正在尝试在 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)
解决方法
首先我要说的是,我们正在积极致力于改进扩展框架的文档,很抱歉,目前它有点不透明!
扩展框架是沙盒的,所以它不能访问一些标准的 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>
</>
)
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。