【问题标题】:body.innerHTML and page source are different (YouTube)body.innerHTML 和页面源不同(YouTube)
【发布时间】:2013-10-16 21:13:39
【问题描述】:

页面源比 document.body.innerHTML 更新。为什么?怎么样?

我正在播放视频的 youtube 页面。我有 Chrome 的控制台和该页面的“查看页面源代码”。 Youtube 具有所有视频的 uniq 签名。我正在执行以下步骤:

第 1 步:

document.body.innerHTML.substr(document.body.innerHTML.indexOf('sig='), 20) "sig=8178A2C9DF5EF0DA"

很好。我在控制台和页面源中看到了这个字符串。

第 2 步: 我点击了右栏中的建议视频之一并重复了代码(没有重定向):

document.body.innerHTML.substr(document.body.innerHTML.indexOf('sig='), 20) "sig=8178A2C9DF5EF0DA"

现在我看到签名没有改变。但是源代码中没有这样的字母。这怎么可能?为什么 innerHTML 保持原样?

【问题讨论】:

  • 您看到的是 HTML5 History API;他们没有更新所有的 HTML。
  • 但是新页面的源代码中肯定有“sig=8178A2C9DF5EF0DA”不是吗?

标签: javascript html youtube console.log


【解决方案1】:

这是因为他们使用的是HTML 5 History API

【讨论】:

  • 他们有例子。我运行测试并得到了我的预期:document.body.innerHTML.substr(document.body.innerHTML.indexOf('photonav'), 100) - 它为我提供了更新的代码,页面源代码和 innerHTML 都有更新的代码。但在 youtube 页面上,“页面源代码”比 body.innerHTML
  • 你说的更新是什么意思?是否有某种时间戳让你这么认为?
  • 是的。我在问题中提到的签名。旧视频的签名保留在新页面的 body.innerHTML 中。但是“页面来源”没有带有签名的字符串。
猜你喜欢
  • 2015-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-20
  • 1970-01-01
  • 1970-01-01
  • 2018-05-17
  • 2023-03-16
相关资源
最近更新 更多