Пользовательские электронные протоколы работают только на mainWindow - PullRequest
0 голосов
/ 12 июня 2019

Я пытаюсь создать собственный протокол для своего приложения, используя модуль Electron.protocols.

/**
 * STATUS: this works perfectly and returns the data we expect.
 *
 * @param request
 * @param callback
 */
function interceptBufferProtocol(request, callback) {
    callback({
        mimeType: "text/html",
        data: Buffer.from('<html><head><title>Testos</title></head><body>Hello</body></html>', 'utf8')
    });
}


    protocol.registerBufferProtocol("http", interceptBufferProtocol, async (err) => {
        console.log(err)
    });

    protocol.interceptBufferProtocol('http', interceptBufferProtocol, async (error) => {

        if (error) {
            console.error('failed to register protocol handler for HTTP');
            return;
        }

        await createWindow();
    });

Но при этом он работает только в mainWindow (первое созданное browserWindow), еслиПосле этого я создаю browserWindow, оно не регистрируется, и вместо перехвата и отображения пользовательского HTML-кода показывает фактическую страницу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...