JSDOMParser: Element is missing a lang accessor
评估
- 难度
- 1/5
- 预计耗时
- 1 小时以内
- 新手友好度
- 76/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 活跃
- 技术栈
- javascript
- 领域
- web-dev
调研方向
找到 JSDOMParser 的 Element 属性访问器,并检查其周围的实现。添加 issue 中所示的 lang 属性行为,然后验证 documentElement.lang 反映 lang 属性,并且为其赋值会更新该属性。
由索引模型根据 Issue 内容生成。
描述
JSDOMParser's Element reflects several HTML attributes as properties such as className, id, href, src, srcset, but not lang. Code that reads doc.documentElement.lang gets undefined on a JSDOMParser document, and the language tag on a real DOM document.
Readability itself is not broken by this. It reads the value with getAttribute("lang") (Readability.js:1071) and exposes it as lang on the parse result. The problem hits consumers that take a document back from JSDOMParser and read the DOM property.
Firefox for Android's Reader View hit exactly this. It caches a parsed document, reloads it through JSDOMParser, and read doc.documentElement.lang, which gave no language on the cached path. We worked around it with getAttribute, but the accessor is worth having so the parser matches the DOM.
See also: Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=2062976
Suggested fix
Add the accessor next to the others:
get lang() {
return this.getAttribute("lang") || "";
},
set lang(str) {
this.setAttribute("lang", str);
},
- 主要语言
- JavaScript
- 星标
- 11.5k
- 派生
- 741
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
mozilla/readability 的其他 Issue
-
Data tables are removed as "unlikely candidates" when a class name contains "header" (e.g. Wikipedia's plainrowheaders)可能已有人在做 @axchadxs 于 6 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 78/100
mozilla/readability#1036 · 1 条评论 ·
-
PHRASING_ELEMS missing <u>, <s>, and <bdi> elements causes paragraph splitting可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 2/5 1-3 小时 新手友好度 68/100
mozilla/readability#997 ·
-
难度 3/5 3-5 天 新手友好度 52/100
mozilla/readability#1039 ·
-
难度 3/5 1-2 天 新手友好度 58/100
mozilla/readability#1037 ·
-
难度 3/5 1-2 天 新手友好度 58/100
mozilla/readability#1031 ·
查看 mozilla/readability 的全部 Issue
相似的 Issue
-
enhancement version-minor
难度 2/5 1-3 小时 新手友好度 62/100
cuttle-cards/cuttle#1467 ·
维护者通常 1 天内回复
-
2026-11 bug good first issue gsoc-2027 project: mockuper
难度 2/5 1-3 小时 新手友好度 78/100
alphaonelabs/website#1147 · 1 条评论 ·
维护者通常 1 天内回复
-
aikido high security
难度 1/5 1 小时以内 新手友好度 70/100
dequelabs/axe-core-npm#1503 ·
维护者通常 1 天内回复
-
难度 2/5 3-5 天 新手友好度 62/100
career-ops-hq/career-ops#6399 · 1 条评论 ·
维护者通常 1 天内回复
-
link-check
难度 2/5 1-3 小时 新手友好度 60/100
joshuabmoore/somnodex#6 ·