仅影响未显式设置target的、和元素,完全不影响JavaScript跳转、iframe、CSS/JS导入及动态创建节点。

base target="_blank" 实际影响哪些元素
只对两类 HTML 元素生效:带 href 的 和 ,以及带 action 的 。它**完全不影响**:window.location、location.href、history.pushState()、、CSS @import、JS import() 或动态创建的 DOM 节点。哪怕你写了 ,document.createElement('a').href = '/about'; a.click() 也不会新开标签页——因为这是运行时行为,不在 作用范围内。
为什么加了 base target 后表单提交变诡异了
表单提交受 直接控制,但后果常被低估:
- POST 表单默认新标签页提交,用户看不到响应内容,也回不到原页面
- 如果后端返回的是 HTML(非 JSON),新标签页可能显示空白或报错,而原页面毫无反馈
- CSRF token 或 session 状态可能因跨上下文失效,尤其在 iframe 嵌入场景下
-
可覆盖,但一旦漏写一个,就触发意外跳转
rel="noopener noreferrer" 不会自动补上
现代浏览器(Chrome/Firefox/Safari)**完全不解析 并自动注入 rel 属性**。这意味着所有被 影响的链接,都默认携带 window.opener 引用,攻击者可在新页面中执行 window.opener.location = 'https://evil.com' 劫持原页面。必须手动为每个实际链接补上 rel="noopener noreferrer",或者改用 JS 注入逻辑统一处理—— 本身不提供任何安全兜底。
生成可在 deepbi 沙箱 iframe 内运行或作为独立文件运行的交互式 HTML 页面,使用 `window.deepbi` JS SDK 实现数据查询、空间管理、文件浏览及用户操作。当用户提出以下需求时启用该能力: - 创建 KPI 仪表盘、数据表格、文件浏览器、成员列表、管理页面; - 明确要求“转成 dhtml”、“转译成 HTML”、“把 XX 页面转成……”、“控制台页面”、“管理后台”、“DeepBI 页面迁移”; - 提及位于 `apps/console/src/featur
测试时最容易忽略的三类“假链接”
这些看似无害的链接,会被 一并捕获,但行为不可控:
- 锚点链接:
—— 新标签页打开后定位失败,URL 带#section但页面不滚动 - 空哈希:
—— 新标签页打开空白页,控制台报Failed to execute 'pushState' on 'History' - JavaScript 链接:
—— 新标签页打开javascript:void(0),多数浏览器显示“该网页无法正常运作”
真正难处理的不是怎么加 ,而是加完之后,谁悄悄打开了新窗口、谁本该拦截却没拦住、谁因为 window.opener 泄露了状态——这些问题往往只在用户投诉后才浮现。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










