Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> WebBrowser не хочет... отображать код страницы полностью 
V
    Опции темы
tolan96
Дата 20.12.2012, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 22.12.2009

Репутация: нет
Всего: нет



Здравствуйте. smile 
Решил тут попробовать YandexAPI 2 и WebBrowser.

Имеется код страницы:

Код


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Примеры. Добавление меток на карту.</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

    <!--
        Подключаем API карт 2.x
        Параметры:
          - load=package.full - полная сборка;
          - lang=ru-RU - язык русский.
    -->
    <script src="http://api-maps.yandex.ru/2.0/?load=package.full&lang=ru-RU"
            type="text/javascript"></script>
    <script src="http://yandex.st/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        // Как только будет загружен API и готов DOM, выполняем инициализацию
        ymaps.ready(init);
        function init () {
        var myMap = new ymaps.Map("map", {center: [54.97135, 32.5824],zoom: 13, behaviors:['default', 'scrollZoom']});
        var destinations = {'ОООПерспектива ПО Кардымовский пищевик (215850, Россия, Смоленская обл., Кардымово пос., ул. Ленина ул, д. 27,)': [54.8899, 32.4339],
                        'ОООКисель (215850, Россия, Смоленская обл., Кардымово пос., ул. Красноармейская ул, д. 10-а,)': [54.8898, 32.4347],
                        'ОООУлыбка (215850, Россия, Смоленская обл., Кардымово пос., ул. Красноармейская ул, д. 18а,)': [54.8913, 32.433],
                        'ОООСтарозавопье (215807, Россия, Смоленская обл., Ярцево, ул. Старозавопье ул, д. 13,)': [55.0529, 32.7229],
                        'ООО Ассорти (215805, Россия, Смоленская обл., Ярцево, ул. Металлургов пр, д. 20,)': [55.0504, 32.7269],
                        'ООО Цитрус/Ярцево (215805, Россия, Смоленская обл., Ярцево, ул. Металлургов пр, д. 22а,)': [55.0504, 32.7269],
                        'ООО Тимур (215805, Россия, Смоленская обл., Ярцево, ул. Металлургов пр, д. 40,)': [55.0489, 32.7233],
                        'ОООСолнечное (215805, Россия, Смоленская обл., Ярцево, ул. Металлургов пр, д. 21б,)': [55.0487, 32.7279],
                        'ООО Ритм (215805, Россия, Смоленская обл., Ярцево, ул. Металлургов пр,)': [55.0501, 32.7309],
                        'ООО Рябинушка (215805, Россия, Смоленская обл., Ярцево, ул. Строителей ул., д. 6,)': [55.0519, 32.7317],
                        'ООО Тимур (215800, Россия, Смоленская обл., Ярцево, ул. Автозаводская ул, д. 4,)': [55.0443, 32.7318],
                        'ООО Уралочка (215800, Россия, Смоленская обл., Ярцево, ул. Студенческая ул, д. 13,)': [55.0402, 32.727],
                        'ООО Луч (215800, Россия, Смоленская обл., Ярцево, ул. Энтузиастов ул, д. 36,)': [55.044, 32.7245],
                        };
        var menuContainer = $('#mapMenu');
                // При создании метки указываем ее свойства:  текст для отображения в иконке и содержимое балуна,
                // который откроется при нажатии на эту метку
                var myPlacemark1 = new ymaps.Placemark([54.8899, 32.4339], {
                        iconContent: '1 - ОООПерспектива ПО Кардымовский пищевик',
                        balloonContentHeader: '1 - Стандарт ТП (ОООПерспектива ПО Кардымовский пищевик)',
                        balloonContentBody: '215850, Россия, Смоленская обл., Кардымово пос., ул. Ленина ул, д. 27,',
                        balloonContentFooter: '10:41'
                        }, {
                        preset: 'twirl#blueStretchyIcon'
                        });
        myMap.geoObjects.add(myPlacemark1);
        var myPlacemark2 = new ymaps.Placemark([54.8898, 32.4347], {
                        iconContent: '2 - ОООКисель',
                        balloonContentHeader: '2 - Стандарт ТП (ОООКисель)',
                        balloonContentBody: '215850, Россия, Смоленская обл., Кардымово пос., ул. Красноармейская ул, д. 10-а,',
                        balloonContentFooter: '10:54'
                        }, {
                        preset: 'twirl#blueStretchyIcon'
                        });
        myMap.geoObjects.add(myPlacemark2);
        var myPlacemark3 = new ymaps.Placemark([54.8913, 32.433], {
                        iconContent: '3 - ОООУлыбка',
                        balloonContentHeader: '3 - Стандарт ТП (ОООУлыбка)',
                        balloonContentBody: '215850, Россия, Смоленская обл., Кардымово пос., ул. Красноармейская ул, д. 18а,',
                        balloonContentFooter: '11:38'
                        }, {
                        preset: 'twirl#blueStretchyIcon'
                        });
        myMap.geoObjects.add(myPlacemark3);
        var myPlacemark4 = new ymaps.Placemark([55.0529, 32.7229], {
                        iconContent: '4 - ОООСтарозавопье',
                        balloonContentHeader: '4 - Стандарт ТП (ОООСтарозавопье)',
                        balloonContentBody: '215807, Россия, Смоленская обл., Ярцево, ул. Старозавопье ул, д. 13,',
                        balloonContentFooter: '13:00'
                        }, {
                        preset: 'twirl#blueStretchyIcon'
                        });
        myMap.geoObjects.add(myPlacemark4);
        var myPlacemark5 = new ymaps.Placemark([55.0504, 32.7269], {
                        iconContent: '5 - ООО Ассорти',
                        balloonContentHeader: '5 - Стандарт ТП (ООО Ассорти)',
                        balloonContentBody: '215805, Россия, Смоленская обл., Ярцево, ул. Металлургов пр, д. 20,',
                        balloonContentFooter: '13:25'
                        }, {
                        preset: 'twirl#blueStretchyIcon'
                        });
        myMap.geoObjects.add(myPlacemark5);
        var myPlacemark6 = new ymaps.Placemark([55.0504, 32.7269], {
                        iconContent: '6 - ООО Цитрус/Ярцево',
                        balloonContentHeader: '6 - Стандарт ТП (ООО Цитрус/Ярцево)',
                        balloonContentBody: '215805, Россия, Смоленская обл., Ярцево, ул. Металлургов пр, д. 22а,',
                        balloonContentFooter: '13:41'
                        }, {
                        preset: 'twirl#blueStretchyIcon'
                        });
        myMap.geoObjects.add(myPlacemark6);
        var myPlacemark7 = new ymaps.Placemark([55.0489, 32.7233], {
                        iconContent: '7 - ООО Тимур',
                        balloonContentHeader: '7 - Стандарт ТП (ООО Тимур)',
                        balloonContentBody: '215805, Россия, Смоленская обл., Ярцево, ул. Металлургов пр, д. 40,',
                        balloonContentFooter: '13:48'
                        }, {
                        preset: 'twirl#blueStretchyIcon'
                        });
        myMap.geoObjects.add(myPlacemark7);
        var myPlacemark8 = new ymaps.Placemark([55.0487, 32.7279], {
                        iconContent: '8 - ОООСолнечное',
                        balloonContentHeader: '8 - Стандарт ТП (ОООСолнечное)',
                        balloonContentBody: '215805, Россия, Смоленская обл., Ярцево, ул. Металлургов пр, д. 21б,',
                        balloonContentFooter: '14:00'
                        }, {
                        preset: 'twirl#blueStretchyIcon'
                        });
        myMap.geoObjects.add(myPlacemark8);
        var myPlacemark9 = new ymaps.Placemark([55.0501, 32.7309], {
                        iconContent: '9 - ООО Ритм',
                        balloonContentHeader: '9 - Стандарт ТП (ООО Ритм)',
                        balloonContentBody: '215805, Россия, Смоленская обл., Ярцево, ул. Металлургов пр,',
                        balloonContentFooter: '14:24'
                        }, {
                        preset: 'twirl#blueStretchyIcon'
                        });
        myMap.geoObjects.add(myPlacemark9);
        var myPlacemark10 = new ymaps.Placemark([55.0519, 32.7317], {
                        iconContent: '10 - ООО Рябинушка',
                        balloonContentHeader: '10 - Стандарт ТП (ООО Рябинушка)',
                        balloonContentBody: '215805, Россия, Смоленская обл., Ярцево, ул. Строителей ул., д. 6,',
                        balloonContentFooter: '14:41'
                        }, {
                        preset: 'twirl#blueStretchyIcon'
                        });
        myMap.geoObjects.add(myPlacemark10);
        var myPlacemark11 = new ymaps.Placemark([55.0443, 32.7318], {
                        iconContent: '11 - ООО Тимур',
                        balloonContentHeader: '11 - Стандарт ТП (ООО Тимур)',
                        balloonContentBody: '215800, Россия, Смоленская обл., Ярцево, ул. Автозаводская ул, д. 4,',
                        balloonContentFooter: '15:19'
                        }, {
                        preset: 'twirl#blueStretchyIcon'
                        });
        myMap.geoObjects.add(myPlacemark11);
        var myPlacemark12 = new ymaps.Placemark([55.0402, 32.727], {
                        iconContent: '12 - ООО Уралочка',
                        balloonContentHeader: '12 - Стандарт ТП (ООО Уралочка)',
                        balloonContentBody: '215800, Россия, Смоленская обл., Ярцево, ул. Студенческая ул, д. 13,',
                        balloonContentFooter: '15:35'
                        }, {
                        preset: 'twirl#blueStretchyIcon'
                        });
        myMap.geoObjects.add(myPlacemark12);
        var myPlacemark13 = new ymaps.Placemark([55.044, 32.7245], {
                        iconContent: '13 - ООО Луч',
                        balloonContentHeader: '13 - Стандарт ТП (ООО Луч)',
                        balloonContentBody: '215800, Россия, Смоленская обл., Ярцево, ул. Энтузиастов ул, д. 36,',
                        balloonContentFooter: '15:45'
                        }, {
                        preset: 'twirl#blueStretchyIcon'
                        });
        myMap.geoObjects.add(myPlacemark13);
        // Создание экземпляра элемента управления
        myMap.controls.add(new ymaps.control.ZoomControl());
        // Обращение к конструктору класса элемента
        // управления по ключу
        myMap.controls.add('typeSelector');
        myMap.setBounds([[54.8898,32.433], [55.0529,32.7318]], {});


        for (var item in destinations) 
        {
            // Используем замыкание, чтобы работать с конкретным свойством объекта
            (function (title, geoPoint) 
           {
               // Создаем ссылку, обернутую в тег <p>
               $("<li><a href=\"javascrtipt:void(0)\">" + item + "</a></li>").find('a').bind('click', function () 
                   {
                      // Подчеркиваем все ссылки
                      menuContainer.find('a').css('text-decoration', 'underline');
        
                      // Кроме той, на которую щелкнули
                      $(this).css('text-decoration', 'none');

                      // Перемещаем карту с эффектом "полёта"
                      myMap.panTo(geoPoint, {flying: true,duration: 2000});
                      return false;
                    }).end().appendTo(menuContainer);
             })(item, destinations[item])
                }
        
        }
    </script>
</head>

<body>
<h2>Перемещение карты</h2>
<ol id="mapMenu"></ol>
<div id="map" style="width:679px;height:483px"></div>
</body>

</html>



Если этот код сохранить в html файл, а потом открыть в браузере, то всё прекрасно работает smile

А вот если данный код попробовать отобразить на форме в WebBrowser
Код

    webBrowser1.Navigate(SavedHTMLFilePath);

, то тут появляется странная ошибкаsmile 

Браузер ругается из-за ошибки скриптаsmile 

Лезу в Debug, ставлю BreakPoint, смотрю, что происходит сразу же после навигации(webBrowser1.Navigate(SavedHTMLFilePath)).
Оказывается, что WebBrowser пытается отобразить не весь код страницы, а лишь половину (или около того), а остальное обрезает. smile 

Неужели есть какое-то ограничение на количество символов в коде?
Или, быть может, действительно имеет место ошибка в скрипте? Если так, то почему страница прекрасно и без ошибок отображается в Chrom/Opera?

Help!!!
Уже второй день голову ломаю, ни как не найду решения проблемы  smile 

Помимо метода Navigate, так же пробовал задавать текст документа:
Код

    webBrowser1.DocumentText = HTMLText;

И использовать Stream:
Код

    byte[] byteArray = Encoding.UTF8.GetBytes( HTMLText);
    MemoryStream stream = new MemoryStream( byteArray );
    webBrowser1.DocumentStream = stream;

Результат один и тот же - обрезание  smile 
PM MAIL   Вверх
Illusion Dolphin
Дата 22.12.2012, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1198
Регистрация: 3.5.2003

Репутация: нет
Всего: 63



Была у меня одна проблема, может быть тут такое же:
Страница находится по адресу file:// или если через стрим то about:blank а скрипт грузится с http:// . А это разные протоколы, и они очень не дружат, мне не удалось в итоге jQuery подключить. Попробуйте это страницу загрузить на сервер любой, тот же IIS - может это решит проблему.


--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
IBS
Дата 23.12.2012, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 214
Регистрация: 29.7.2008
Где: Белоруссия

Репутация: 1
Всего: 6



Цитата(tolan96 @  20.12.2012,  16:20 Найти цитируемый пост)
Результат один и тот же - обрезание    

А обрезание всегда в одном и том же месте?
PM MAIL   Вверх
Illusion Dolphin
Дата 23.12.2012, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1198
Регистрация: 3.5.2003

Репутация: нет
Всего: 63



Ой, что-то я ступил, тут же ошибка в JS, он даже ругается на строчку:
Код

'ООО Луч (215800, Россия, Смоленская обл., Ярцево, ул. Энтузиастов ул, д. 36,)': [55.044, 32.7245],


Должно быть:
Код

'ООО Луч (215800, Россия, Смоленская обл., Ярцево, ул. Энтузиастов ул, д. 36,)': [55.044, 32.7245]

В конце запятая в JS быть не может .


--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
tolan96
Дата 24.12.2012, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 22.12.2009

Репутация: нет
Всего: нет



Цитата(Illusion Dolphin @ 23.12.2012,  18:07)
Ой, что-то я ступил, тут же ошибка в JS, он даже ругается на строчку:
Код

'ООО Луч (215800, Россия, Смоленская обл., Ярцево, ул. Энтузиастов ул, д. 36,)': [55.044, 32.7245],


Должно быть:
Код

'ООО Луч (215800, Россия, Смоленская обл., Ярцево, ул. Энтузиастов ул, д. 36,)': [55.044, 32.7245]

В конце запятая в JS быть не может .

И в правду! Без запятой всё прекрасно заработало.  smile 
Просто до этого, знакомый программист по Java уверял, что JS -  язык не придирчивый и закрывает глаза на многие вещи. Кто ж знал, что лишняя запятая для JS окажется критичной...  smile 

Спасибо за помощь!  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0748 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.