當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。