Как заставить веб-браузер отображать цвет фона текста? - PullRequest
0 голосов
/ 01 декабря 2018

У меня есть простой .html файл, определенный как показано ниже.
Если я открою его с помощью обычного веб-браузера, его фоновый цвет может отображаться правильно.Но когда я открываю его с помощью элемента управления System.Windows.Forms.WebBrowser, цвет фона не может быть отображен.

<head>
  <meta charset="UTF-8">
<style>
nw {
    background-color: Orange;
}
np {
    background-color: DodgerBlue;
}
</style>
</head>
<table style="width:100%">
  <tr>
    <th>Time Created</th>
    <th>Content</th>
  </tr>
  <tr>
    <td>26/11/2018 20:39:21</td>
    <td><nw>hello</nw></td>
  </tr>
 </table>

Форма TransparencyKey не помогает;Веб-браузер не имеет свойства цвета BackGround.

Кто-нибудь знает, почему и как решить?

1 Ответ

0 голосов
/ 01 декабря 2018

Чтобы изменить аспект содержимого HTML-страницы, необходимо изменить сам документ HTML.
Свойство TransparencyKey формы и / или свойство BackColor элемента управления WebBrowser не имеют значения.Эти свойства, если они доступны, изменяют аспект элемента управления, а не содержимое HTML или его визуализацию.

Также важно: элемент управления WebBrowser, если не указано иное с указанием , по умолчанию имеет значениеРежим совместимости с IE7.Многие функции HTML недоступны в этом режиме.

Существуют различные способы установки / изменения режима совместимости класса WebBrowser.
Вы можете изменить раздел реестра, чтобы установить IE11/ Режим совместимости с Edge навсегда.См. Этот ответ:
Как получить элемент управления WebBrowser для отображения современного содержимого?

Обратите внимание, что ключ находится в ветви CURRENT_USER.Вам не нужны повышенные привилегии для его изменения.
Кроме того, это не специальный взлом .Это значение реестра применяется к исполняемому файлу (вы регистрируете здесь свою собственную программу), оно не изменяет общие настройки пользователя.Известные программы используют этот метод для установки режима совместимости элементов управления WebBrowser.

Другой непостоянный метод для каждого документа заключается в установке заголовка HTML с использованием формата HTML5:

<!DOCTYPE html>
<meta http-equiv='x-ua-compatible' content='IE=edge,chrome=1'>

Добавление этих строк в HTML-документ устанавливает режим совместимости IE11 / Edge.
Ваш документ можно изменить следующим образом:

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv='x-ua-compatible' content='IE=edge,chrome=1'>
  <meta charset="UTF-8">
<style>
nw {
    background-color: Orange;
}
np {
    background-color: DodgerBlue;
}
</style>
</head>
<body>
<table style="width:100%">
  <tr>
    <th>Time Created</th>
    <th>Content</th>
  </tr>
  <tr>
    <td>26/11/2018 20:39:21</td>
    <td><nw>hello</nw></td>
  </tr>
 </table>
</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...