我希望能够获取YouTube的标签内容。然而,当我导航到新页面时,即使页面源代码已经更新,仍会返回旧页面的内容。
请注意,我关注的是YouTube的频道页面,它们作为单页应用程序运行。
复现步骤:
为什么
请注意,我关注的是YouTube的频道页面,它们作为单页应用程序运行。
复现步骤:
- 访问https://www.youtube.com/channel/UCBVjMGOIkavEAhyqpxJ73Dw(Maroon 5的频道)
- 在控制台中运行
document.head.querySelector('meta[name="title"]')
;返回<meta name="title" content="Maroon 5">
- 在右侧边栏下方点击“相关频道”中的链接;例如,https://www.youtube.com/user/EdSheeran
- 再次在控制台中运行
document.head.querySelector('meta[name="title"]')
;仍然返回<meta name="title" content="Maroon 5">
meta
标签已更新为 <meta name="title" content="Ed Sheeran">
。我还注意到在控制台中运行 document.head.querySelector('title')
返回了更新的 <title>Ed Sheeran - YouTube</title>
元素。为什么
querySelector
调用仍然返回先前页面的元数据?
<meta name="title">
元素。 - Graham Swan<title>
元素已经更新了,但是在点击到新频道后,<meta ...>
元素已经过时了。感谢你指出这一点。 :) - Graham Swan