久久久久av_欧美日韩一区二区在线_国产精品三区四区_日韩中字在线
Discuz! 官方交流社區
標題:
免插件、DZ內置JS輕松實現外鏈訪問二次確認對話提示框
[打印本頁]
作者:
9527
時間:
2023-10-12 11:06
標題:
免插件、DZ內置JS輕松實現外鏈訪問二次確認對話提示框
原生JS輕松實現外鏈提示對話框,效果如圖:
(, 下載次數: 58)
上傳
點擊文件名下載附件
這是我基于Discuz!內置的showDialog對話框給外部鏈接加以點擊后彈出訪問二次確認對話框,以做安全提示及免責效用,這也是當下各大平臺都有設置的基本功能。
代碼如下:
<script>
// 外部鏈接安全提示
function jumpToExternalLink(link) {
const message = '您即將離開本站,請注意網絡安全。<p class="wot">即將訪問:' + link + '</p>';
showDialog(message, 'confirm', '即將訪問外部鏈接', 'window.open(\'' + link + '\', \'_blank\')', 0, 2, '本域:admxn.com', '確定訪問', '取消');
}
function forLinks() {
// 獲取頁面中所有的鏈接元素
const links = document.querySelectorAll('a, [data-href]');
// 遍歷每個鏈接元素,并為其綁定點擊事件
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中即可。
DEMO:https://cn.admxn.com/
作者:
文強
時間:
2023-10-15 14:09
感謝樓主{:4_104:}收藏備用{:4_111:}
作者:
笛聲悠揚
時間:
2023-10-18 17:26
來得及時,非常感謝樓主!{:4_108:}
作者:
TaC
時間:
2024-4-15 22:42
測試了下,手機版好似無效
作者:
9527
時間:
2024-4-16 08:59
TaC 發表于 2024-4-15 22:42
測試了下,手機版好似無效
是的,是基于PC版內置的JS實現的
作者:
Levno
時間:
2025-7-29 16:52
這個好,馬住~
歡迎光臨 Discuz! 官方交流社區 (http://www.9999xn.com/)
Powered by Discuz! W1.0