当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript platformUtils.service.PlatformUtilsService类代码示例

本文整理汇总了TypeScript中jslib/abstractions/platformUtils.service.PlatformUtilsService的典型用法代码示例。如果您正苦于以下问题:TypeScript service.PlatformUtilsService类的具体用法?TypeScript service.PlatformUtilsService怎么用?TypeScript service.PlatformUtilsService使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了service.PlatformUtilsService类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: constructor

 constructor(private main: MainBackground, private passwordGenerationService: PasswordGenerationService,
     private platformUtilsService: PlatformUtilsService, private analytics: Analytics,
     private lockService: LockService) {
     this.isSafari = this.platformUtilsService.isSafari();
     this.isEdge = this.platformUtilsService.isEdge();
     this.isVivaldi = this.platformUtilsService.isVivaldi();
     this.commands = this.isSafari ? safari.application : chrome.commands;
 }
开发者ID:bitwarden,项目名称:browser,代码行数:8,代码来源:commands.background.ts

示例2: cipherAction

    private async cipherAction(info: any) {
        const id = info.menuItemId.split('_')[1];
        if (id === 'noop') {
            if (chrome.browserAction && chrome.browserAction.openPopup) {
                chrome.browserAction.openPopup();
            }
            return;
        }

        if (await this.lockService.isLocked()) {
            return;
        }

        const ciphers = await this.cipherService.getAllDecrypted();
        const cipher = ciphers.find((c) => c.id === id);
        if (cipher == null) {
            return;
        }

        if (info.parentMenuItemId === 'autofill') {
            this.analytics.ga('send', {
                hitType: 'event',
                eventAction: 'Autofilled From Context Menu',
            });
            await this.startAutofillPage(cipher);
        } else if (info.parentMenuItemId === 'copy-username') {
            this.analytics.ga('send', {
                hitType: 'event',
                eventAction: 'Copied Username From Context Menu',
            });
            this.platformUtilsService.copyToClipboard(cipher.login.username, { window: window });
        } else if (info.parentMenuItemId === 'copy-password') {
            this.analytics.ga('send', {
                hitType: 'event',
                eventAction: 'Copied Password From Context Menu',
            });
            this.platformUtilsService.copyToClipboard(cipher.login.password, { window: window });
        }
    }
开发者ID:bitwarden,项目名称:browser,代码行数:39,代码来源:contextMenus.background.ts

示例3: generatePasswordToClipboard

    private async generatePasswordToClipboard() {
        if (await this.lockService.isLocked()) {
            return;
        }

        const options = await this.passwordGenerationService.getOptions();
        const password = await this.passwordGenerationService.generatePassword(options);
        this.platformUtilsService.copyToClipboard(password, { window: window });
        this.passwordGenerationService.addHistory(password);

        this.analytics.ga('send', {
            hitType: 'event',
            eventAction: 'Generated Password From Context Menu',
        });
    }
开发者ID:bitwarden,项目名称:browser,代码行数:15,代码来源:contextMenus.background.ts

示例4: generatePasswordToClipboard

    private async generatePasswordToClipboard() {
        if (this.isSafari || this.isEdge) {
            // Safari does not support access to clipboard from background
            return;
        }

        if (await this.lockService.isLocked()) {
            return;
        }

        const options = await this.passwordGenerationService.getOptions();
        const password = await this.passwordGenerationService.generatePassword(options);
        this.platformUtilsService.copyToClipboard(password, { window: window });
        this.passwordGenerationService.addHistory(password);

        this.analytics.ga('send', {
            hitType: 'event',
            eventAction: 'Generated Password From Command',
        });
    }
开发者ID:bitwarden,项目名称:browser,代码行数:20,代码来源:commands.background.ts

示例5: popOut

    popOut(win: Window): void {
        let href = win.location.href;
        if (this.platformUtilsService.isEdge()) {
            const popupIndex = href.indexOf('/popup/');
            if (popupIndex > -1) {
                href = href.substring(popupIndex);
            }
        }

        if ((typeof chrome !== 'undefined') && chrome.windows && chrome.windows.create) {
            if (href.indexOf('?uilocation=') > -1) {
                href = href.replace('uilocation=popup', 'uilocation=popout')
                    .replace('uilocation=tab', 'uilocation=popout')
                    .replace('uilocation=sidebar', 'uilocation=popout');
            } else {
                const hrefParts = href.split('#');
                href = hrefParts[0] + '?uilocation=popout' + (hrefParts.length > 0 ? '#' + hrefParts[1] : '');
            }

            const bodyRect = document.querySelector('body').getBoundingClientRect();
            chrome.windows.create({
                url: href,
                type: 'popup',
                width: Math.round(bodyRect.width ? bodyRect.width + 60 : 375),
                height: Math.round(bodyRect.height || 600),
            });

            if (this.inPopup(win)) {
                BrowserApi.closePopup(win);
            }
        } else if ((typeof chrome !== 'undefined') && chrome.tabs && chrome.tabs.create) {
            href = href.replace('uilocation=popup', 'uilocation=tab')
                .replace('uilocation=popout', 'uilocation=tab')
                .replace('uilocation=sidebar', 'uilocation=tab');
            chrome.tabs.create({
                url: href,
            });
        } else if ((typeof safari !== 'undefined')) {
            // Safari can't open popup in full page tab :(
        }
    }
开发者ID:bitwarden,项目名称:browser,代码行数:41,代码来源:popup-utils.service.ts


注:本文中的jslib/abstractions/platformUtils.service.PlatformUtilsService类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。