簡體   English   中英

在 Javascript 中設置元標記是否可以在沒有服務器端渲染的情況下工作?

[英]Does setting meta tags in Javascript work without server side rendering?

我正在開發一個單頁應用程序,每個頁面都應該有不同的開放圖形元標記。

看起來像react-helmet這樣的工具只是使用像element.setAttribute這樣的 JavaScript 函數來在頁面之間轉換時更新元標記。

我的問題是:這在沒有服務器端渲染的情況下可以工作嗎? 因為在這種情況下,您將擁有一組“默認”元標記,然后在加載頁面時,客戶端路由將確定您實際在哪個頁面上,然后 Javascript 將在onPageLoad處理程序中設置正確的元標記。

也就是說,如果您檢查頁面的來源,元標記將只是默認值,但如果某些爬蟲等待頁面加載然后檢查新的元標記,它們會看到正確的值。

我不使用服務器端渲染。 在沒有服務器端渲染的情況下使用 react-helmet 之類的東西是浪費時間嗎? 如果我在 Slack 或 Discord 上鏈接我的頁面,它會簡單地檢查源以確定元標記,還是等待頁面加載然后獲取通過 Javascript 設置的較新的元標記?

我想我會先問而不是先測試,因為如果甚至不支持此功能並且有人已經知道,那么開發此功能並將其投入生產是一項可觀的工作。

嘗試實現http://prerender.io/ - 這將檢測爬蟲,緩存適當的站點並提供適當的站點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM