找回密码
 立即注册

QQ登录

只需一步,快速开始

Yaykl

注册会员

2

主题

6

帖子

18

积分

注册会员

积分
18
  • 73

    金币

  • 2

    主题

  • 6

    帖子

最新发帖
Yaykl
注册会员   /  发表于:2024-3-4 14:36  /   查看:1928  /  回复:6
1金币
本帖最后由 Joestar.Xu 于 2024-3-4 15:07 编辑

原来在spreadjsV9版本中在控制台输出打印,可以拿到spread或者sheet的canvas,通过sheet._canvas的方式获取它内部的属性比如宽度由一类的

image.png339677733.png 而在spreadJsV12版本中,无法直接通过heet._canvas获取它内部的属性,打印sheet._canvas为undefined,打印sheet输出的内容也与V9版本不同 image.png553400268.png
请问在V12版本中如何获取sheet的canvas,以及像V9那样所有sheet的属性,而不是V12这种通过打印看到所有sheet的属性都是这种两位乱码一样的属性

最佳答案

查看完整内容

您好,这个应该涉及底层源码了,猜测是因为V12做了代码混淆,但是V9没有做。 所以在V9里面是可以看到很多没有公开的内部属性,但在V12中对这部分属性做了混淆,使得您看到的结果不太一样。

6 个回复

倒序浏览
最佳答案
最佳答案
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-3-4 14:36:19
来自 5#
您好,这个应该涉及底层源码了,猜测是因为V12做了代码混淆,但是V9没有做。

所以在V9里面是可以看到很多没有公开的内部属性,但在V12中对这部分属性做了混淆,使得您看到的结果不太一样。
回复 使用道具 举报
前端小白
超级版主   /  发表于:2024-3-4 14:53:09
2#
你可以通过spread.getHost()拿到SpreadJS的宿主元素
https://demo.grapecity.com.cn/spreadjs/help/api/classes/GC.Spread.Sheets.Workbook#gethost

然后通过DOM tree,往下爬,在2*2的table里就能拿到canvas。

评分

参与人数 1金币 +200 收起 理由
Joestar.Xu + 200 很给力!

查看全部评分

回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-3-4 15:56:04
3#
您好,暂时没有公开的API接口能直接获取到Canvas,楼主可以参考楼上热心用户的结局方案。
回复 使用道具 举报
Yaykl
注册会员   /  发表于:2024-3-4 16:35:13
4#
Joestar.Xu 发表于 2024-3-4 15:56
您好,暂时没有公开的API接口能直接获取到Canvas,楼主可以参考楼上热心用户的结局方案。

麻烦能讲一下,同样是打印输出sheet,V9和V12展示的内容却完全不同,V12版本通过sheet如何查看到V9截图中所展示的那些属性
回复 使用道具 举报
Yaykl
注册会员   /  发表于:2024-3-5 11:02:45
6#
Joestar.Xu 发表于 2024-3-4 17:00
您好,这个应该涉及底层源码了,猜测是因为V12做了代码混淆,但是V9没有做。

所以在V9里面是可以看到很 ...

好的,谢谢
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-3-5 12:20:09
7#
不客气,那就先结贴了,后续有其他问题的话随时开新帖提问哈。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部