powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / WebBrowser. Проблема с JavaScript
9 сообщений из 9, страница 1 из 1
WebBrowser. Проблема с JavaScript
    #39172696
Oblom811
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Проделываю с компонентом WebBrowser несложное упражнение
private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.Navigate(" https://www.sbobet.com/euro/live-betting/football");
}

получаю такую ошибку (см. вложение)

Если же гружу этот же урл в обычном IE - никаких проблем.
Проблема воспроизводится на нескольких компах.

Погасить ошибку не проблема, проблема в том, что после гашения страница отрабатывает не так как в обычном браузере, просто не показывает содержимое.

Полез внутрь HTML-кода искать "indexOf" из ошибки, нашел два места:

1.function isShowLiveScore(sportId) { var config = $T('site').getValue('noLiveScoreSports').split(','); return config.indexOf(sportId + '') === -1; }

2.function r() { var c = document.cookie.split(';'); for (var i = 0; i < c.length; i++) { if (c[i].indexOf('refreshEuro=') >= 0) { var v = c[i].replace('refreshEuro=', ''); if (parseInt(v) > 0) { var date = new Date(); date.setTime(date.getTime() - 100); var hostName = window.location.hostname; document.cookie = 'refreshEuro=0;expires=' + date.toGMTString() + ';path=/;domain=' + hostName.substring(hostName.lastIndexOf('.', hostName.lastIndexOf('.') - 1) + 1); var bb = ''; if (parseInt(v) == 2) { bb = 'refreshBB=1'; } $P.postRequest('/web/restricted/account-data.aspx', bb); setTimeout(function () { location.reload(false); }, 500); } } } setTimeout(r, 1000); }

Во втором случае проблем быть не должно, берутся куки, парсятся и проверяются.
А вот в первом случае AJAX может по разному отрабатывать в компоненте WebBrowser и браузере.

Есть какой-нибудь способ добиться синхронного поведения, подкрутив настройки компонента WebBrowser?
...
Рейтинг: 0 / 0
WebBrowser. Проблема с JavaScript
    #39172702
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
WebBrowser. Проблема с JavaScript
    #39172707
Oblom811
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Добрый день!
Проделываю с компонентом WebBrowser несложное упражнение
Код: c#
1.
2.
3.
4.
private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.Navigate("https://www.sbobet.com/euro/live-betting/football");
}


получаю такую ошибку (см. вложение)

Если же гружу этот же урл в обычном IE - никаких проблем.
Проблема воспроизводится на нескольких компах.

Погасить ошибку не проблема, проблема в том, что после гашения страница отрабатывает не так как в обычном браузере, просто не показывает содержимое.

Полез внутрь HTML-кода искать "indexOf" из ошибки, нашел два места:

1.
Код: javascript
1.
function isShowLiveScore(sportId) { var config = $T('site').getValue('noLiveScoreSports').split(','); return config.indexOf(sportId + '') === -1; }


2.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
function r() { 
var c = document.cookie.split(';'); 
for (var i = 0; i < c.length; i++) 
{ 
if (c[i].indexOf('refreshEuro=') >= 0) 
{ 
var v = c[i].replace('refreshEuro=', ''); 
if (parseInt(v) > 0) 
{ 
var date = new Date(); 
date.setTime(date.getTime() - 100); 
var hostName = window.location.hostname; 
document.cookie = 'refreshEuro=0;expires=' + date.toGMTString() + ';path=/;domain=' + hostName.substring(hostName.lastIndexOf('.', hostName.lastIndexOf('.') - 1) + 1); 
var bb = ''; 
if (parseInt(v) == 2) 
{ 
bb = 'refreshBB=1'; 
} 
$P.postRequest('/web/restricted/account-data.aspx', bb); 
setTimeout(function () { location.reload(false); }, 500); 
} 
} 
} 
setTimeout(r, 1000); 
}



Во втором случае проблем быть не должно, берутся куки, парсятся и проверяются.
А вот в первом случае AJAX может по разному отрабатывать в компоненте WebBrowser и браузере.

Есть какой-нибудь способ добиться синхронного поведения, подкрутив настройки компонента WebBrowser?
...
Рейтинг: 0 / 0
WebBrowser. Проблема с JavaScript
    #39172708
Oblom811
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
WebBrowser. Проблема с JavaScript
    #39172710
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
веббраузер работает в режиме совместимости, а IE в режиме edge. проще всего подкрутить страницу, прописав edge в meta, тогда веббраузер сам будет переходить в этот режим.
...
Рейтинг: 0 / 0
WebBrowser. Проблема с JavaScript
    #39172722
Oblom811
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariy,

а если у меня нет доступа к содержимому страницы?
Можно вставить туда мету уже после получения страницы в компонент WebBrowser?
...
Рейтинг: 0 / 0
WebBrowser. Проблема с JavaScript
    #39172725
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так не выйдет, веббраузер не будет перерисовывать страницу.
Нужно ковырять реестр: http://digitorum.ru/blog/2014/08/04/C-WebBrowser-Emulation.phtml
...
Рейтинг: 0 / 0
WebBrowser. Проблема с JavaScript
    #39172729
Oblom811
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariy,

Помогло на этом простом примере, теперь буду пробовать на основном приложении. Спасибо!
...
Рейтинг: 0 / 0
WebBrowser. Проблема с JavaScript
    #39172731
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На здоровье.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / WebBrowser. Проблема с JavaScript
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]