首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Angular 4中检查isBrowser

如何在Angular 4中检查isBrowser
EN

Stack Overflow用户
提问于 2017-09-07 23:02:30
回答 2查看 9.3K关注 0票数 10

在过去,您可以使用Angular Universal的isBrowser来检查您的页面是否在浏览器中呈现(因此您可以使用localStorage之类的东西),或者它是否正在进行服务器端预呈现。

angular2-universal似乎被分成了@angular/core@angular/platform-server@angular/platform-browser

我在Angular 4的API文档中寻找过类似的功能,也试图在源代码中找到它,但没有成功。

我是否遗漏了什么,或者Angular 4检查渲染是否在浏览器中运行的方法是什么?或者我应该只是简单地检查是否定义了window

EN

回答 2

Stack Overflow用户

发布于 2017-10-23 23:47:22

代码语言:javascript
复制
import { PLATFORM_ID, Inject } from '@angular/core';
import { isPlatformBrowser} from '@angular/common';
...
export class MyComponent {
...
    testBrowser: boolean;
    constructor(
        @Inject(PLATFORM_ID) platformId: string) {
            this.testBrowser = isPlatformBrowser(platformId);
            if (this.testBrowser) {
                //this is only executed on the browser
            }
    }
...
票数 24
EN

Stack Overflow用户

发布于 2017-09-08 02:08:25

您可以按如下方式导入isPlatformBrowser(<platform id>)

代码语言:javascript
复制
import { isPlatformBrowser } from '@angular/common';

这将允许您检查它是否在浏览器中呈现。

需要注意的是,@angular/common中也有一个isPlatformServer

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46099644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档