夜雨聆风学习资料网

ARTICLE · 1333749

一种用于大连海洋大学学生门户的搜索修复插件

一种用于大连海洋大学学生门户的搜索修复插件

本文说明一份非学校官方的用户脚本,采用 MIT 许可。

脚本用于处理门户综合搜索中输入文字即触发页面重载、搜索无法完成的情况。源码与安装地址均公开。

脚本只在页面侧缓解上述现象,服务端鉴权问题仍需由门户维护方处理。

项目信息

形态:Tampermonkey 用户脚本 · MIT 许可

适用页面:https://my.dlou.edu.cn/frontend/center_portal_dlou/*

安装:https://greasyfork.org/zh-CN/scripts/603862

源码:https://github.com/5nahCIvoLaF/dlou-portal-search-fix

01现象与成因

在门户首页顶部「综合内容」搜索框输入文字时,页面随即原地重载,输入内容被清空,搜索无法继续。重载发生得很快,连续输入会被反复打断。新闻公告页顶部的同一搜索框存在相同情况。

搜索输入变化后会发起接口请求。请求在登录凭据缺失或返回 401 时,页面公共请求处理会触发原地重载,已输入内容与页面状态随之清空。

服务端鉴权状态需由门户维护方处理,浏览器脚本无法代为登录或授予接口访问权限。脚本的作用限于页面侧,即保留输入与已有结果,并将失败如实提示。

安装前

输入文字 → 页面原地重载 → 输入清空,搜索中断

安装后

输入文字 → 保留输入与已有结果 → 正常结果或明确提示

02脚本的处理

会做的 3 件事

1. 鉴权失败时保留搜索框输入与已显示结果,并持续显示提示,由使用者决定是否退出后重新登录。

2. 通讯录(person)分类或明确配置为通讯录的接口返回 401 / 403 时跳过该分类,其余分类继续搜索。

3. 页面刷新后尝试恢复暂存的搜索词;清空搜索框时删除暂存内容并取消未完成的请求。

不做的 3 件事

1. 不伪造成功响应。

2. 不授予接口访问权限,不修复服务端鉴权。

3. 不将分类跳过显示为查无结果,提示文案对此予以说明。

出现鉴权提示表示登录状态需要恢复,或需门户维护方处理。

03数据与权限

脚本会读取页面已有的登录凭据,相关范围如下。

· 搜索词暂存于当前标签页的同源 sessionStorage,标签页关闭时通常清除;同源页面的其他脚本亦可访问。

· 脚本读取门户现有的 center_portal_token,仅用于搜索请求的 Authorization 头,且仅发往 my.dlou.edu.cn 与 portal.dlou.edu.cn 两个确切 HTTPS 域名。凭据不被记录或修改。

· 不添加第三方请求,搜索请求不跟随 HTTP 重定向。门户其他功能沿用原有行为。

· 适用页面为 https://my.dlou.edu.cn/frontend/center_portal_dlou/*

安装前建议先行审阅仓库源码。MIT 许可允许审阅与改动。

04安装与验证

安装 3 步

1. 安装 Tampermonkey。

2. 从 Greasy Fork 发布页或仓库原始文件安装脚本,亦可新建脚本后粘贴内容。

3. 停用其他同类脚本,在脚本管理器确认本脚本已启用,再刷新门户页面。

自检 3 项

□ 输入搜索词,确认输入被保留,出现正常结果或明确提示。

□ 清空搜索框,确认提示消失。

□ 手动刷新页面,确认搜索词恢复。

05适用边界与已知限制

· 依赖门户页面 Vue 实例及搜索配置结构,门户改版后可能失效。

· 已在 Edge 验证;退出重登及更多浏览器、账号权限组合尚未完整验证。

· 不能授予接口访问权限,不能修复服务器鉴权。

· 反馈问题时请说明浏览器、脚本管理器版本与复现步骤,勿公开账号、token、Cookie 及敏感搜索词。

以下为实现说明,供需要了解处理方式的读者参考。

06实现说明

保留结果的同时标注时效。鉴权失败时保留的已有结果可能对应上一次搜索,提示文案对此作出说明,以免使用者误判。

分类失败的差异化处理。通讯录分类常因账号权限不同而不可用,其 401 / 403 响应被跳过,其余分类继续检索;其他分类失败仍显示提示。跳过仅表示该分类本次未查询。

请求边界与失效条件。脚本沿用页面原有搜索配置与凭据,请求仅发往两个确切域名,不跟随重定向;取消未完成请求以避免旧响应覆盖新结果。脚本接管 Vue 实例的搜索方法及防抖函数,门户前端改版后可能失效,因此全文采用「缓解」表述,并建议同步向门户维护方反馈。

07验证与开源

Edge 实测覆盖:401 时输入保留、清空后提示移除、刷新后搜索词恢复、首页与新闻公告页顶部搜索。内容中心与业务系统结果正常,通讯录分类返回 401。

静默跳过逻辑经本地模拟验证,模拟另覆盖凭据缺失、正常响应、搜索词编码、域名限制、过时响应取消及可选分类失败后继续处理。退出重登与更多浏览器、账号权限组合尚未完整验证。

项目以 MIT 许可公开,Copyright (c) 2026 CanCanNeed。Greasy Fork 从仓库 main 分支同步,同步非即时。问题反馈请附浏览器、脚本管理器版本与复现步骤。

写在最后

脚本仅在页面侧缓解上述现象。服务端鉴权问题建议通过学校信息化服务渠道反馈。

也希望学校有关部门尽快检查并修复此问题。安装地址与源码地址见文末。

在 Greasy Fork 安装

https://greasyfork.org/zh-CN/scripts/603862

查看源码与反馈

https://github.com/5nahCIvoLaF/dlou-portal-search-fix

以上地址可复制到浏览器打开,安装地址也已放在「阅读原文」。

非学校官方项目 · MIT 许可 · 2026

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料