DiscuzJS轻松实现外链访问二次确认对话提示框(免插件)
原生JS轻松实现外链提示对话框,效果如图:这是基于Discuz!的showDialog对话框给外部链接加以点击后弹出访问二次确认对话框,以做安全提示及免责效用,这也是当下各大平台都有设置的基本功能。
代码如下:
```
<script>
// 外部链接安全提示
function jumpToExternalLink(link) {
const message = '您即将离开本站,请注意网络安全。<p class="wot">链接:' + link + '</p>';
showDialog(message, 'confirm', '小颖提醒您即将访问外部链接', 'window.open(\'' + link + '\', \'_blank\')', 0, 2, '本域:52jiny.com', '确定访问', '取消');
}
function forLinks() {
// 获取页面中所有的链接元素
const links = document.querySelectorAll('a, ');
// 遍历每个链接元素,并为其绑定点击事件
links.forEach((link) => {
const href = link.getAttribute('href') || link.getAttribute('data-href');
// 判断链接是否为外部链接
if (href && href.startsWith('http') && !href.includes(window.location.host)) {
link.addEventListener('click', (event) => {
event.preventDefault();
jumpToExternalLink(href);
});
link.setAttribute('target', '_blank'); // 在新窗口中打开链接
}
});
}
forLinks();
</script>
```
将以上代码稍作修改后直接拷贝到如通用页脚模板文件footer.htm/php中即可。
“探索无界,安全随行!🚀 Discuz!原生JS的巧妙应用,让你轻松把守外链大门,一触即发,却多了份安心。只需简单几行代码,即可打造个性化二次确认提示框,不仅守护用户安全,也体现了你的用心。快来看看如何‘说话’的代码,让每个点击都变得明智又安全!” 帖子回复:
“探索JS的奇妙世界,这位朋友巧妙利用Discuz!内置的showDialog功能,打造出外链访问的‘安全门’。一行代码,一份安心,原生的力量在此展现。赞一个!”
页:
[1]