后台新增「搜索与链接的打开方式」,并让站点链接跟随设置
原先的设置项只作用于顶部搜索框,文案也写作「搜索结果新窗口打开」;而站点格 与合集里的链接 target 是写死的 _blank —— 于是切到「当前页面打开」时会出现 半生效:搜索留在本页,点网站却仍然弹新标签。 - index.php:把打开方式收敛成一个 open_target(),搜索框与所有站点格共用同一 来源,任何一处都不再写死 target;页面输出 data-open="blank|self" 便于断言与排查。 - admin/index.php:后台由含义含糊的复选框改为明确的二选一(新标签页 / 当前页面), 并补一段说明它管哪两处、不影响后台管理界面。 - admin/actions.php:保存走白名单回退 —— '0' 之外(含字段缺失、被篡改成怪值) 一律回到 '1'(新标签页)。默认值与改造前的旧行为一致,老库不受影响。 - 当前页面模式下不再输出无意义的 rel="noopener"。 验证:php -l 4 个文件通过;e2e 113/113(新增 20 项,并做了反向验证——把链接 改回写死 _blank 后,相关断言精确失败 4 条);线上部署 0 FAIL(双版本语法检查、 62 条静态断言、38 文件哈希逐字节一致、HTTP 冒烟、真机上切换两种模式并已复原)。
This commit is contained in:
@@ -104,6 +104,8 @@ function seed_settings(PDO $pdo): void
|
||||
'subtitle' => '个人网站导航',
|
||||
'default_engine' => 'bing',
|
||||
'primary_color' => '#2F6BF7',
|
||||
// '1' = 顶部搜索框与所有站点/合集链接都在**新标签页**打开;'0' = 都在**当前页面**打开。
|
||||
// 默认 '1' 与引入该设置前的旧行为一致;老库若已有这一行不会被覆盖(INSERT OR IGNORE)。
|
||||
'open_blank' => '1',
|
||||
];
|
||||
$stmt = $pdo->prepare('INSERT OR IGNORE INTO settings (k, v) VALUES (?, ?)');
|
||||
|
||||
Reference in New Issue
Block a user