我正在使用ngx-device-detector库来检测设备类型(移动设备,平板电脑或台式机)。 该库在客户端模式下可以完美运行,但是在服务器上预渲染有角度的通用应用程序时(在服务器上预渲染后,可以在客户端模式下完美运行),无法检测到设备类型。
谢谢。
答案 0 :(得分:1)
我快速浏览了一下代码,我认为您可以使用可以从请求标头中检索到的用户代理字符串来调用setDeviceInfo
app.module.ts
import {Request} from 'express';
import {REQUEST} from '@nguniversal/express-engine/tokens';
constructor(@Inject(PLATFORM_ID) private platformId,
@Optional() @Inject(REQUEST) protected request: Request,
private deviceService: DeviceDetectorService)
{
if(!isPlatformBrowser(platformId))
{
this.deviceService.setDeviceInfo(request.headers['user-agent']);
}
}