Как мне получить window.parent.postMessage (не могу использовать CefSharp.PostMessage)?C#

Место общения программистов C#
Anonymous
Как мне получить window.parent.postMessage (не могу использовать CefSharp.PostMessage)?

Сообщение Anonymous »

Я читал документацию CefSharp, много гуглил и видел подобные примеры.
Кажется, они говорят, что если вам нужен JavaScript сообщение на свой C#, начните использовать CefSharp.PostMessage.
Я не могу использовать CefSharp.PostMessage. Я не могу контролировать Javascript или код.
Но я знаю, что в какой-то момент он отправляет сообщение в window.parent.postMessage.
Когда этот Javascript выполняется на веб-странице, как я могу получить данные на своем C# (используя CefSharp)?
РЕДАКТИРОВАТЬ:
Чтобы ответить на вопрос изложено в комментариях (просто быстрый тест, даже не пытаясь получить реальные данные):

Код: Выделить всё

    private void ChromiumWebBrowser1_FrameLoadEnd(object sender, CefSharp.FrameLoadEndEventArgs e)
{
if (e.Frame.IsMain)
{
chromiumWebBrowser1.ExecuteScriptAsync(@"
window.parent.postmessage = function()
{
CefSharp.PostMessage('test');
}
");
}
}
Это приводит к тому, что я не получаю здесь ни одного события:

Код: Выделить всё

    private void ChromiumWebBrowser1_JavascriptMessageReceived(object sender, JavascriptMessageReceivedEventArgs e)
{
var foo = (string)e.Message;
}
Примечание: когда мы нажимаем на исходный URL-адрес, он должен пройти примерно три перенаправления, прежде чем попадет на страницу, на которой javascript выполнит postMessage.>

Подробнее здесь: https://stackoverflow.com/questions/788 ... ostmessage

Вернуться в «C#»