找回密码
 立即注册

QQ登录

只需一步,快速开始

栗子哥
注册会员   /  发表于:2023-11-2 13:34  /   查看:1318  /  回复:8
1金币
本帖最后由 Ellia.Duan 于 2023-11-2 15:23 编辑



产品:SpreadJS
版本:v15.2
问题编号:【SJS-21042】


如题,当我在15.2的版本中执行如下操作:

1、点击【插入-超链接】
image.png129550475.png

2、选择本地文件
image.png559986571.png
3、点击确定插入到单元格中
image.png856883849.png


此时右击或者ctrl点击都无响应,请问这个功能的使用场景或者易用性?

8 个回复

倒序浏览
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2023-11-2 15:16:08
沙发
本帖最后由 Ellia.Duan 于 2023-11-2 15:22 编辑

您好,发现在v16版本的Designer中,已经取消了这部分功能:
image.png112873229.png
我们将跟踪下此问题,待有进展,会及时联系您。问题编号:【SJS-21042】

回复 使用道具 举报
栗子哥
注册会员   /  发表于:2023-11-2 15:24:38
板凳
Ellia.Duan 发表于 2023-11-2 15:16
您好,发现在v16版本的Designer中,已经取消了这部分功能:

我们将跟踪下此问题,待有进展,会及时联系 ...

那在15.2中这个算是功能缺陷吗,我们生产环境已经使用了15.2版本的怎么处理呢
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2023-11-2 15:46:05
地板
您好,这个问题已经提交了研发调研,待有回复 ,我会尽快联系您。
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2023-11-3 09:37:18
5#
本帖最后由 Ellia.Duan 于 2023-11-3 09:48 编辑

您好,据调研,
当将文件从本地上传到浏览器时,File 对象将不再有物理路径。
image.png971268005.png
如上图所示,您看到的地址”C:\\fakepath“ 它只是一个dom元素节点内容,这个怎么验证呢,您可以运行下面代码
  1. <!DOCTYPE html>
  2. <html lang="en">

  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>Test</title>
  6.     <script>
  7.         window.onload = function () {
  8.             document.getElementById("fileInput").addEventListener("change",function(){
  9.                 document.getElementById("output").innerText = this.value;
  10.             })
  11.         };
  12.     </script>
  13. </head>

  14. <body>
  15.     <div id="output"></div>
  16.     <input type="file" id="fileInput"/>
  17. </body>

  18. </html>
复制代码
image.png474213561.png

同时,点击超链接也不能下载上传的文件:
这是一个网络限制,超链接只是一个 URL 字符串,它不能指向物理文件地址,即使我们给出像这样的文件协议
“file:///Users/xxx/Desktop/abc_update.xlsx”,网络会抛出类似的错误
image.png43898314.png

您也可以尝试线上excel,它也无法上传文件,只能接受URL地址。同时也不能打开文档物理地址
image.png859995727.png
image.png146257933.png
所以,在v16版本,我们禁用了设计器组件中的上传文件功能,以避免混淆客户。


回复 使用道具 举报
栗子哥
注册会员   /  发表于:2023-11-3 10:00:49
6#
Ellia.Duan 发表于 2023-11-3 09:37
您好,据调研,
当将文件从本地上传到浏览器时,File 对象将不再有物理路径。

好的,收到,谢谢!
那请问这里的【选择】按钮如何在15.2的版本中隐藏
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2023-11-3 10:28:52
7#
您好,请参考下面的代码:


  1. var template = GC.Spread.Sheets.Designer.getTemplate(GC.Spread.Sheets.Designer.TemplateNames.HyperLinkTemplate);
  2.             function customFontFamilyInFormatDialogTemplate(templateNode) {
  3.                 let selectBtnNode = templateNode.content[5].children[0].children[0].children[1].children[1].children;
  4.                 selectBtnNode.shift()
  5.                 selectBtnNode.push({bindingPath: "linkAddress", type: "TextEditor"})
  6.                 return templateNode;
  7.             }

  8.             customFontFamilyInFormatDialogTemplate(template);
  9.             GC.Spread.Sheets.Designer.registerTemplate(GC.Spread.Sheets.Designer.TemplateNames.HyperLinkTemplate, template);
复制代码
运行后,效果如下:
image.png51451415.png
回复 使用道具 举报
栗子哥
注册会员   /  发表于:2023-11-3 17:18:49
8#
Ellia.Duan 发表于 2023-11-3 10:28
您好,请参考下面的代码:

好的,收到,谢谢,我们在本地试下
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2023-11-3 17:50:04
9#
好的,有问题随时沟通。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部