push-notification - TypeScript 和 Chrome 通知

标签 push-notification typescript tslint

我正在构建 Chrome 应用。该应用程序是使用 TypeScript (Angular2) 编写的。

我想推送通知。这是代码:

import {Injectable} from 'angular2/core';

@Injectable()
export class NotificationService {
    constructor() {
        if(Notification.permission !== 'granted') {
            Notification.requestPermission();
        }
    }
}

当 gulp 构建应用程序时,它说:

src/scripts/stream/notification.service.ts(6) Cannot find name 'Notification'.

我试图将我的类(class)包装在里面:

/* tslint:disable */
... the code
/* tslint:enable */

但这并没有改变任何东西。

有没有办法通过 tslint.json 文件告诉 Typescript 这是一个全局变量?

使用 jshint 会是这样的:

"globals": {
   "Notification": false
}

最佳答案

这里有几个选项:

  1. 将以下行添加到文件的顶部。

    声明var Notification: any;

    这将使转译器通过,但不会为您提供 TypeScript 的大部分功能。

  2. 下载定义类型(chrome.d.ts)。

    TSD似乎是最受欢迎的定义管理器。
    Typings是另一个有前途的替代方案。

关于push-notification - TypeScript 和 Chrome 通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34617674/

相关文章:

ios - 两个应用程序使用相同的显式应用程序 ID

java - GCM token 验证

android - 是否可以从设备向服务器发送推送通知请求?

angular - 在 Jasmine 中测试具有构造函数方法的 Angular2 管道

typescript - 从基类静态方法返回子类的新实例

ios - 获取 token 失败,错误: Error Domain=NSCocoaErrorDomain Code=3000 "no valid ' aps-environment' entitlement string found for application"

reactjs - 如何动态更改属性要求

angular - 使用开关时 tslint 提示 "statements must be filtered with an if statement"

typescript - 如何通过TypeScript关闭Electron应用程序?

angular - TSLint - 您只能绑定(bind)到公共(public)类成员 (templates-use-public)