如果出现登入无效,请你关闭下拉刷新功能
还是无法解决,点击右上角的3个点打开菜单,点击设置,点击工具,点击编辑脚本,清空里面的残余代码
,然后把下面的(代码)复制粘贴到编辑脚本里面
const originalFetch = window.fetch;
window.fetch = async (...args) => {
const [url, config] = args;
// 检查是否是分享岛的登录请求
if (url.includes('/login') && config.method?.toLowerCase() === 'post') {
try {
// 获取CSRF Token
const csrfToken = await getCsrfToken();
if (!csrfToken) throw new Error('CSRF Token not found');
const formData = new URLSearchParams(config.body);
formData.set('_token', csrfToken);
const modifiedConfig = {
...config,
body: formData.toString(),
headers: {
...config.headers,
'Content-Type': 'application/x-www-form-urlencoded'
}
};
return originalFetch(url, modifiedConfig);
} catch (error) {
console.error('CSRF Fixer Error:', error);
return originalFetch(...args);
}
}
return originalFetch(...args);
};
// 获取CSRF Token
async function getCsrfToken() {
const loginPage = await fetch('https://example.com/login'); // 替换为分享岛的实际登录页面
const html = await loginPage.text();
const metaTag = html.match(/<meta name="csrf-token" content="([^"]+)">/);
return metaTag ? metaTag[1] : null;
}