我的大部分網站都使用 Angular Universal,以便我可以為 SEO 預渲染內容。它旨在成為一個面向公眾的網站。
我希望能夠使某些組件僅在客戶端呈現,以避免捆綁內容(例如電子郵件地址和社交媒體鏈接)被網路爬蟲發現。
我使用 Angular Universal 生成的應用程式來創建我的應用程式。目前,我所有的組件都在服務器端呈現。我找不到任何明確的例子,有人以優雅的方式使用 Angular 來實作這個特定目標。我的意圖是讓我的聯系資訊和社交媒體鏈接組件完全在客戶端呈現并在運行時添加到 DOM,以避免機器人和網路爬蟲看到它。
其他人如何在不做一些駭人聽聞的事情的情況下實作這一目標?
uj5u.com熱心網友回復:
您可以使用isPlatformBrowserAngular 的輔助方法并將所有代碼包裝在此輔助方法中,如下所示:
import { isPlatformBrowser } from '@angular/common';
export class Component {
constructor(
@Inject(PLATFORM_ID) private platformId: string,
){}
get isBrowserOnly(): boolean {
return isPlatformBrowser(this.platformId);
}
}
<div *ngIf="isBrowserOnly">
will be shown only in the browser
</div>
```
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/443634.html
上一篇:分配默認值的麻煩路由引數角度
