1234下一页
返回列表 发布新帖

[Discuz教程] 免插件DZ内置JS轻松实现外链访问二次确认对话提示框

3246 35
发表于 2024-6-12 06:51:16 | 显示全部楼层 阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
原生JS轻松实现外链提示对话框,效果如图:

免插件DZ内置JS轻松实现外链访问二次确认对话提示框

免插件DZ内置JS轻松实现外链访问二次确认对话提示框

这是我基于Discuz!内置的showDialog对话框给外部链接加以点击后弹出访问二次确认对话框,以做安全提示及免责效用,这也是当下各大平台都有设置的基本功能。

代码如下:

  1. <script>
  2.     // 外部链接安全提示
  3.     function jumpToExternalLink(link) {
  4.       const message = '您即将离开本站,请注意网络安全。<p class="wot">即将访问:' + link + '</p>';
  5.       showDialog(message, 'confirm', '即将访问外部链接', 'window.open(\'' + link + '\', \'_blank\')', 0, 2, '本域:admxn.com', '确定访问', '取消');
  6.     }
  7.    
  8.     function forLinks() {
  9.     // 获取页面中所有的链接元素
  10.     const links = document.querySelectorAll('a, [data-href]');
  11.    
  12.     // 遍历每个链接元素,并为其绑定点击事件
  13.     links.forEach((link) => {
  14.       const href = link.getAttribute('href') || link.getAttribute('data-href');
  15.    
  16.       // 判断链接是否为外部链接
  17.       if (href && href.startsWith('http') && !href.includes(window.location.host)) {
  18.         link.addEventListener('click', (event) => {
  19.           event.preventDefault();
  20.           jumpToExternalLink(href);
  21.         });
  22.         link.setAttribute('target', '_blank'); // 在新窗口中打开链接
  23.       }
  24.     });
  25.     }
  26.     forLinks();
  27. </script>
复制代码
将以上代码稍作修改后直接拷贝到如通用页脚模板文件footer.htm中即可。
温馨提示:
1、在论坛里发表的文章仅代表作者本人的观点,与本网站立场无关。
2、论坛的所有内容都不保证其准确性,有效性,时间性。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
3、当政府机关依照法定程序要求披露信息时,论坛均得免责。
4、若因线路及非本站所能控制范围的故障导致暂停服务期间造成的一切不便与损失,论坛不负任何责任。
5、注册会员通过任何手段和方法针对论坛进行破坏,我们有权对其行为作出处理。并保留进一步追究其责任的权利。
6、论坛仅限于交流探讨与转载分享,严禁在此发布违规违法帖子,否则后果自负!网站内容如有侵犯了您的权益,请及时联系我们予以删除!
回复

使用道具 举报

评论35

UrgeLv.7 发表于 2024-6-12 06:52:12 | 显示全部楼层
我抢,我抢,抢沙发,不加倍,好了,沙发是我的了!
我要说一句 收起回复
B Color Smilies
还可输入 200 个字符
回复

使用道具 举报

FOULv.7 发表于 2024-6-12 07:02:27 | 显示全部楼层
好,很好,非常好!
我要说一句 收起回复
B Color Smilies
还可输入 200 个字符
回复

使用道具 举报

StarLv.7 发表于 2024-6-12 07:05:41 | 显示全部楼层
你说吧,你是想死呢还是不想活了?
我要说一句 收起回复
B Color Smilies
还可输入 200 个字符
回复

使用道具 举报

PrayLv.7 发表于 2024-6-12 07:11:41 | 显示全部楼层
妈的,我被人投诉了!客户说我给他的mp3文件没有图像!
我要说一句 收起回复
B Color Smilies
还可输入 200 个字符
回复

使用道具 举报

seraphLv.7 发表于 2024-6-12 07:17:16 | 显示全部楼层
友情提示:由于此用户的签名太过于个性而被系统自动屏蔽
我要说一句 收起回复
B Color Smilies
还可输入 200 个字符
回复

使用道具 举报

FallingloveLv.7 发表于 2024-6-12 07:30:13 | 显示全部楼层
我曾经跟一个人无数次的擦肩而过,衣服都擦破了,也没擦出火花。
我要说一句 收起回复
B Color Smilies
还可输入 200 个字符
回复

使用道具 举报

KingLv.7 发表于 2024-6-12 07:40:04 | 显示全部楼层
顶起出售广告位
我要说一句 收起回复
B Color Smilies
还可输入 200 个字符
回复

使用道具 举报

FormerlyLv.7 发表于 2024-6-12 07:42:31 | 显示全部楼层
直播,握手!稍坐,楼主马上来!
我要说一句 收起回复
B Color Smilies
还可输入 200 个字符
回复

使用道具 举报

ChrysanthemumLv.7 发表于 2024-6-12 07:48:04 | 显示全部楼层
能力就像瓜子仁,只有咬牙才能嗑出来。
我要说一句 收起回复
B Color Smilies
还可输入 200 个字符
回复

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

投诉/建议联系

jinqike1026@163.com

论坛仅限于交流探讨与转载分享,
严禁在此发布违规违法帖子,否则后果自负!
网站内容如有侵犯了您的权益,请及时联系我们予以删除!
  • 关注公众号
  • 添加微信客服
Copyright © 2001-2024 金小颖论坛 版权所有 All Rights Reserved. |网站地图 浙ICP备2022006091号
关灯 快速发帖
扫一扫添加微信客服
返回顶部
快速回复 返回顶部 返回列表