真正的值在另一份文件裡,用 <iframe> 嵌進這一頁。就算同源,父頁面的 document.body.textContent 也不包含子文件的內容——那是另一個 document。
| product.canonicalId | SKU-88421 |
|---|---|
| offer.price | 899.00 TWD |
| 父頁面讀不到子頁面的文字 | document.body.textContent(在父文件執行)不包含 iframe 內的任何文字,即使兩者同源、即使 iframe 已經完全載入。 |
|---|---|
| 需要跨文件走訪 | 要讀到 warranty.monthsRemaining,得先拿到 iframe.contentDocument(同源才被允許),再對那份文件做抽取——這是額外一步,不是自動發生的。 |
| 跨源會更嚴格 | 如果 iframe 指向不同 origin,contentDocument 會被瀏覽器拒絕存取(同源政策);那種情況下這個值真的讀不到,必須回報 unknown,不能假裝讀到。 |