Nano Hash - криптовалюты, майнинг, программирование

Страница загрузки TWebbrowser с большими шрифтами

Я обнаружил странное поведение в компоненте TwebBrowser, когда я загружаю определенные страницы, они отображаются с более крупным шрифтом. отличается от того, что используется в Internet Explorer.

увидеть эти примеры изображений

Вот по этой ссылке http://docwiki.embarcadero.com/RADStudio/en/Main_Page загружается с более крупными шрифтами в TWebBrowser и с мелкими шрифтами (другой стиль) в IE.

альтернативный текст

эта страница https://stackoverflow.com/ загружается с тем же стилем в компоненте TWebBrowser и IE.

альтернативный текст

Пробовал на разных машинах - тоже самое.

как я могу исправить это поведение? это проблема с CSS?

18.10.2010

Ответы:


1

Я думаю, проблема в том, что компонент TWebBrowser работает под управлением Internet Explorer в режиме совместимости. Действительно, если вы откроете страницу docwiki в Internet Explorer 8 и более поздних версиях, шрифты будут мелкими и приятными, в отличие от того, как они выглядят в TWebBrowser. Но если вы нажмете кнопку «Просмотр в режиме совместимости» в окне Internet Explorer, вы получите такой же крупный текст, как и в компоненте TWebBrowser. (Хорошо известно, что IE6 использует слишком большой текст.)

Согласно этой записи в блоге MSDN и документы MSDN, чтобы контролировать режим совместимости элемента управления TWebBrowser используйте реестр:

procedure TForm3.FormCreate(Sender: TObject);
begin

  with TRegistry.Create do
    try
      RootKey := HKEY_CURRENT_USER;
      if OpenKey('Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION', true) then
        WriteInteger(ExtractFileName(Application.ExeName), 8888);
    finally
      Free;
    end;

  WebBrowser1.Navigate('http://docwiki.embarcadero.com/RADStudio/en/Main_Page');
end;

Значения: 8000, 7000 и 8888 для «Стандартный режим IE8», «Стандартный режим IE7» и «Стандартный режим IE8 (принудительный)» соответственно. Следовательно, приведенный выше код активирует режим стандартов IE8.

Удивительно, однако, что установка стандартного режима только сделает шрифт еще больше.

18.10.2010
  • Андреас, спасибо за ваш комментарий о compatibility mode, но почему некоторые страницы выглядят с тем же стилем и шрифтом, когда они работают в compatibility mode? 19.10.2010

  • 2

    Обычно я исправляю это, устанавливая ZOOM:

    WebBrowser1.ExecWB(OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, zoom);
    

    Вам нужно использовать OLECMDID_GETZOOMRANGE, чтобы определить допустимые диапазоны для zoom. Дополнительные сведения см. в примечаниях к документации MSDN. .

    18.10.2010
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..