找回密码
 立即注册

QQ登录

只需一步,快速开始

KYddd

注册会员

6

主题

27

帖子

67

积分

注册会员

积分
67
KYddd
注册会员   /  发表于:2022-12-5 17:03  /   查看:2876  /  回复:12
10金币
本帖最后由 KYddd 于 2022-12-5 17:53 编辑

我现在表格里有多个超链接,我希望点击的时候先获取点击的超链接的路径,拼上参数后再跳转,有什么好的解决办法吗?

主要问题就是怎么拿到点击的超链接的url,监听哪个事件?

最佳答案

查看完整内容

参考附件demo,导入demo中的xlsx文件,观察超链接的url。 主要代码如下:

12 个回复

倒序浏览
最佳答案
最佳答案
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-12-5 17:03:19
来自 9#
参考附件demo,导入demo中的xlsx文件,观察超链接的url。
主要代码如下:
  1. spread.suspendPaint();
  2.             // 遍历获取sheet中的超链接
  3.             var sheet = spread.getActiveSheet();
  4.             var rc = sheet.getRowCount();
  5.             var cc = sheet.getColumnCount();
  6.             for(var r = 0; r < rc; r++) {
  7.                 for(var c = 0; c < cc; c++) {
  8.                     var hyperlink = sheet.getHyperlink(r, c);
  9.                     if(hyperlink) {
  10.                         var newHyperlink = JSON.parse(JSON.stringify(hyperlink));
  11.                         // 这里演示修改了url,可根据业务情况拼接参数生成新的url,再做替换
  12.                         newHyperlink.url = "https://gcdn.grapecity.com.cn/";
  13.                         sheet.setHyperlink(r, c, newHyperlink);
  14.                     }
  15.                 }
  16.             }
  17.             spread.resumePaint()
复制代码


回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-12-5 18:54:53
2#
您好,
超链接单元格提供了回调函数,可以定义想执行的操作,您看下是否满足需求。
学习指南相关介绍:
https://demo.grapecity.com.cn/sp ... es/hyperlink/purejs
回复 使用道具 举报
KYddd
注册会员   /  发表于:2022-12-5 19:12:33
3#
Lynn.Dou 发表于 2022-12-5 18:54
您好,
超链接单元格提供了回调函数,可以定义想执行的操作,您看下是否满足需求。
学习指南相关介绍:

我现在导入的excel已经有超链接了,你发的那个里面的事件是用代码插入的超链接才能触发的吧,我想的是能不能直接监听excel做好了的超链接的点击事件
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-12-6 11:38:31
4#
本帖最后由 Lynn.Dou 于 2022-12-6 11:40 编辑

您拼接的参数是固定的吗?如果是,可以在加载excel文件后,遍历获取超链接原有的url,拼接参数后再对url进行修改。
如果不是,请结合实际业务情况详细描述下您的需求,以便问题的进一步调研。
回复 使用道具 举报
KYddd
注册会员   /  发表于:2022-12-6 11:49:32
5#
Lynn.Dou 发表于 2022-12-6 11:38
您拼接的参数是固定的吗?如果是,可以在加载excel文件后,遍历获取超链接原有的url,拼接参数后再对url进 ...

可不可以不遍历所有超链接,我想实现的是点击哪个,就获取点击的这个超链接的url,我拼了参数后再自己调用window.open()
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-12-6 17:25:13
6#
KYddd 发表于 2022-12-6 11:49
可不可以不遍历所有超链接,我想实现的是点击哪个,就获取点击的这个超链接的url,我拼了参数后再自己调 ...

目前没有监听超链接点击的事件,所以需要您结合实际业务情况详细描述下需求,这边看看是否有其他方案。
回复 使用道具 举报
KYddd
注册会员   /  发表于:2022-12-7 09:04:19
7#
本帖最后由 KYddd 于 2022-12-7 09:11 编辑
Lynn.Dou 发表于 2022-12-6 17:25
目前没有监听超链接点击的事件,所以需要您结合实际业务情况详细描述下需求,这边看看是否有其他方案。

实际业务需求就是上面说的,那现在只能遍历所有超链接,获取url拼接参数后,再用代码重新生成超链接?如果是的话,怎么遍历超链接并拼参数呢?
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-12-7 11:59:10
8#
KYddd 发表于 2022-12-7 09:04
实际业务需求就是上面说的,那现在只能遍历所有超链接,获取url拼接参数后,再用代码重新生成超链接?如 ...

这边先尝试整理一个demo,稍后贴中发给您。
回复 使用道具 举报
KYddd
注册会员   /  发表于:2022-12-7 16:26:16
10#
Lynn.Dou 发表于 2022-12-7 15:55
参考附件demo,导入demo中的xlsx文件,观察超链接的url。
主要代码如下:

好的,谢谢您
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部