diff --git a/dist/jhs-enhance.user.js b/dist/jhs-enhance.user.js
index 97aa4c5..ea43df0 100644
--- a/dist/jhs-enhance.user.js
+++ b/dist/jhs-enhance.user.js
@@ -1,7 +1,7 @@
// ==UserScript==
// @name JHS-enhance
// @namespace JHS-enhance
-// @version 3.3.13
+// @version 3.3.14
// @author xiebro,fireinrain
// @description Jav-鉴黄师 增强脚本。列表页:作品状态标签、一键筛选、新作品检测、演员黑名单过滤;详情页:磁力链接高亮、DMM 多画质预览视频、标题翻译、整合字幕搜索(迅雷+SubTitleCat)并支持 115 直传、多源预览图(javfree/projectjav/javstore)含来源切换;数据:115 网盘目录匹配与多目录选择、云盘备份/恢复、跨 Tab 同步;其他:自动翻页、分类折叠、Top250、以图识图、热门榜单、评论查看、相关清单。支持 JavDB / JavBus / JavSee / SeeJav / FC2 / JavTrailers
// @license MIT
@@ -11534,6 +11534,8 @@ ${err.stack}` : "");
}
searchEngine($container, $sortSelect, engine, keyword) {
+ this.currentEngine = engine;
+ this.currentKeyword = keyword;
$container.html(`
正在从 ${engine.name} 搜索 "${keyword}"...
`);
const cacheKey = `${engine.name}_${keyword}`;
sessionStorage.getItem(cacheKey);
@@ -11551,11 +11553,11 @@ ${err.stack}` : "");
$sortSelect.prop("disabled", results.length === 0);
this.displayResults($container, results, engine.name);
} catch (e) {
- $container.html(`解析 ${engine.name} 结果失败: ${e.message}
`);
+ this.showError($container, `解析 ${engine.name} 结果失败: ${e.message}`);
}
},
onerror: (error) => {
- $container.html(`从 ${engine.name} 获取数据失败: ${error.statusText}
`);
+ this.showError($container, `从 ${engine.name} 获取数据失败: ${error.statusText}`);
}
}));
}
@@ -11564,6 +11566,15 @@ ${err.stack}` : "");
}
}));
}
+
+ showError($container, message) {
+ $container.html(``);
+ const $select = $container.closest(".magnet-container").find(".magnet-sort-select");
+ $container.find("#retrySearch").on("click", ((e) => {
+ e.preventDefault();
+ this.searchEngine($container, $select, this.currentEngine, this.currentKeyword);
+ }));
+ }
displayResults($container, results, engineName) {
$container.empty();
const sortMode = localStorage.getItem("jhs_magnetSort") || "size";
@@ -11958,11 +11969,11 @@ ${err.stack}` : "");
$sortSelect.prop("disabled", results.length === 0);
_this.displayResults($container, results, engine.name);
} catch (e) {
- $container.html(`解析 ${engine.name} 结果失败: ${e.message}
`);
+ _this.showError($container, `解析 ${engine.name} 结果失败: ${e.message}`);
}
},
onerror: (error) => {
- $container.html(`从 ${engine.name} 获取数据失败: ${error.statusText}
`);
+ _this.showError($container, `从 ${engine.name} 获取数据失败: ${error.statusText}`);
}
});
}
diff --git a/package.json b/package.json
index 2fce966..bd606a0 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "jhs-enhance",
- "version": "3.3.14",
+ "version": "3.3.15",
"description": "Jav-鉴黄师 油猴脚本 - 工程化版本",
"type": "module",
"scripts": {
diff --git a/src/plugins/magnet-hub.js b/src/plugins/magnet-hub.js
index 383c2b2..934a86d 100644
--- a/src/plugins/magnet-hub.js
+++ b/src/plugins/magnet-hub.js
@@ -580,6 +580,8 @@ class MagnetHubPlugin extends BasePlugin {
}
searchEngine($container, $sortSelect, engine, keyword) {
+ this.currentEngine = engine;
+ this.currentKeyword = keyword;
$container.html(`正在从 ${engine.name} 搜索 "${keyword}"...
`);
const cacheKey = `${engine.name}_${keyword}`;
sessionStorage.getItem(cacheKey);
@@ -597,11 +599,11 @@ class MagnetHubPlugin extends BasePlugin {
$sortSelect.prop("disabled", results.length === 0);
this.displayResults($container, results, engine.name);
} catch (e) {
- $container.html(`解析 ${engine.name} 结果失败: ${e.message}
`);
+ this.showError($container, `解析 ${engine.name} 结果失败: ${e.message}`);
}
},
onerror: error => {
- $container.html(`从 ${engine.name} 获取数据失败: ${error.statusText}
`);
+ this.showError($container, `从 ${engine.name} 获取数据失败: ${error.statusText}`);
}
}));
}
@@ -611,6 +613,15 @@ class MagnetHubPlugin extends BasePlugin {
}));
}
+ showError($container, message) {
+ $container.html(``);
+ const $select = $container.closest(".magnet-container").find(".magnet-sort-select");
+ $container.find("#retrySearch").on("click", (e => {
+ e.preventDefault();
+ this.searchEngine($container, $select, this.currentEngine, this.currentKeyword);
+ }));
+ }
+
displayResults($container, results, engineName) {
$container.empty();
const sortMode = localStorage.getItem("jhs_magnetSort") || "size";
@@ -1000,11 +1011,11 @@ class MagnetHubPlugin extends BasePlugin {
$sortSelect.prop("disabled", results.length === 0);
_this.displayResults($container, results, engine.name);
} catch (e) {
- $container.html(`解析 ${engine.name} 结果失败: ${e.message}
`);
+ _this.showError($container, `解析 ${engine.name} 结果失败: ${e.message}`);
}
},
onerror: error => {
- $container.html(`从 ${engine.name} 获取数据失败: ${error.statusText}
`);
+ _this.showError($container, `从 ${engine.name} 获取数据失败: ${error.statusText}`);
}
});
}
diff --git a/vite.config.mjs b/vite.config.mjs
index adb9913..116e411 100644
--- a/vite.config.mjs
+++ b/vite.config.mjs
@@ -6,9 +6,9 @@ export default defineConfig({
monkey({
entry: 'src/main.js',
userscript: {
- name: 'JHS-enhance',
- namespace: 'JHS-enhance',
- version: '3.3.14',
+ name: 'JHS-enhance',
+ namespace: 'JHS-enhance',
+ version: '3.3.15',
author: 'xiebro,fireinrain',
description: 'Jav-鉴黄师 增强脚本。列表页:作品状态标签、一键筛选、新作品检测、演员黑名单过滤;详情页:磁力链接高亮、DMM 多画质预览视频、标题翻译、整合字幕搜索(迅雷+SubTitleCat)并支持 115 直传、多源预览图(javfree/projectjav/javstore)含来源切换;数据:115 网盘目录匹配与多目录选择、云盘备份/恢复、跨 Tab 同步;其他:自动翻页、分类折叠、Top250、以图识图、热门榜单、评论查看、相关清单。支持 JavDB / JavBus / JavSee / SeeJav / FC2 / JavTrailers',
license: 'MIT',