feat: 外链拦截放行 rainnya.asia 家族域名(含子域名直接跳转不走确认页)
This commit is contained in:
@@ -5,6 +5,7 @@ import * as authApi from '../api/auth.js';
|
||||
import * as settingsApi from '../api/settings.js';
|
||||
import { getToken, setToken, notifyAuthChange } from '../api/client.js';
|
||||
import { showSnackbar } from '../lib/utils.js';
|
||||
import { isFamilyDomain } from '../lib/outlink.js';
|
||||
import MusicEmbed from './MusicEmbed.jsx';
|
||||
import CaptchaModalHost from './CaptchaModal.jsx';
|
||||
import Footer from './Footer.jsx';
|
||||
@@ -54,8 +55,10 @@ export default function Layout() {
|
||||
if (!a) return;
|
||||
const href = (a.getAttribute('href') || '').trim();
|
||||
if (!/^https?:\/\//i.test(href)) return; // 站内路径(/ 开头)不拦
|
||||
// 本站同源(www.rainnya.asia)不拦——解析相对链接得到本站 origin 也自然跳过
|
||||
// 本站同源(www.rainnya.asia)不拦——解析相对链接得到本站 origin 也自然跳过;
|
||||
// rainnya.asia 家族域名(含子域名)也视为站内,直接跳转不走确认页
|
||||
if (new URL(href, window.location.origin).origin === window.location.origin) return;
|
||||
if (isFamilyDomain(href)) return;
|
||||
e.preventDefault();
|
||||
window.location.href = '/out?url=' + encodeURIComponent(href);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user