2013-10-16 44 views
0

頁面源比document.body.innerHTML更新。爲什麼?怎麼樣?body.innerHTML和頁面源不同(YouTube)

我在播放視頻的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保持原樣?

+0

您正在看到HTML5 History API;他們沒有更新所有的HTML。 – SLaks

+0

但新頁面的源代碼中必須有「sig = 8178A2C9DF5EF0DA」,不是嗎? – zavdv

回答

0

這是因爲他們使用的是HTML 5 History API

+0

他們有例子。我運行我的測試,得到我的預期:document.body.innerHTML.substr(document.body.innerHTML.indexOf('photonav'),100) - 它給了我更新的代碼,頁面源代碼和innerHTML都有更新的代碼。但在youtube頁面上的'page source'比body.innerHTML – zavdv

+0

更新* newer *是什麼意思?有沒有一種時間戳讓你覺得呢? – PhilTrep

+0

是的。我在我的問題中提到的簽名。舊視頻的簽名保留在新頁面的body.innerHTML中。但'頁面源'沒有簽名的字符串。 – zavdv