Как отобразить карту Google без сообщения об ошибке совместимости? [Дубликат]

Типы ссылок по умолчанию равны null, чтобы указать, что они не ссылаются на какой-либо объект. Следовательно, если вы попытаетесь получить доступ к объекту, на который ссылаетесь, а его нет, вы получите исключение NullReferenceException.

Для Ex:

SqlConnection connection = null;
connection.Open();

Когда вы запускаете это кода, вы получите:

System.NullReferenceException: Object reference not set to an instance of an object.

Вы можете избежать этой ошибки, например, следующим образом:

if (connection != null){
    connection.Open();
}

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

30
задан Danny Tuppeny 16 July 2011 в 12:33
поделиться

4 ответа

Невозможно сделать это, кроме настройки следующих параметров реестра:

HKLM\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION

или если это 32-битное приложение на 64-битной Windows:

HKLM\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION`

Эти настройки не отображаются в элементе управления WebBrowser.

Для получения дополнительной информации см .:

В каком режиме совместимости IE используется элемент управления веб-браузером?

В случае, если ссылка замирает:

Вы создаете значение DWORD, соответствующее имени вашего исполняемого файла, и установите это значение в одно из следующих значений:

7000: страницы, содержащие основанные на стандартах <!DOCTYPE> директивы, отображаются в режиме IE7. 8000: страницы, содержащие основанные на стандартах директивы <!DOCTYPE>, отображаются в режиме 8888 IE8: страницы всегда отображаются в режиме IE8, независимо от директивы <!DOCTYPE>. (Это исключает исключения, перечисленные ранее.) 9000: используйте настройки IE9! 9999: Force IE9

Например:

enter image description here [/g2]

Из моих собственных экспериментов с IE9:

  • 9000 - наследует режим совместимости, установленный в настройке режима глобальной совместимости IE9. т.е.: enter image description here [/g3]
  • 9999 - вытесняет IE9 из режима совместимости в хост-приложении независимо от настройки режима совместимости в глобальном масштабе

Ваша заявка будет вероятно, необходимо определить, какая базовая версия IE доступна для определения того, какое значение использовать:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Version

, или если это 32-битное приложение на 64-битной Windows:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Version

также эта старая статья, когда вышел IE8, который стоит посмотреть:

Дополнительные улучшения расширяемости IE8

Вы также можете настройте эти параметры для каждого пользователя в разделе:

HKCU\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION
53
ответ дан Kev 26 August 2018 в 16:45
поделиться

Я знаю, что это старый вопрос, но есть способ вставить заголовок в элемент управления webbrowser в Visual Basic 2010 и позже, чтобы отключить представление совместимости:

Первое, что вам нужно сделать это, чтобы поймать текущую веб-страницу, а затем заменить главный тег следующим образом:

Sub compatible()
' --- simple routine to disable compatible view.

    Dim the_url As String
    Dim message As String
    Dim theReplacement As String
    Dim oldMessage As String

    the_url = WebBrowser1.Url.OriginalString

    WebBrowser1.Navigate(the_url)

    message = "<head>" + Chr(13) + Chr(10) + "<meta http-equiv=" + Chr(34) + "X-UA-Compatible" + Chr(34) + "content=" + Chr(34) + "IE=edge" + Chr(34) + " />" + Chr(13) + Chr(10) + "<base href=" + Chr(34) + the_url + Chr(34) + ">"

    oldMessage = WebBrowser1.DocumentText.ToString()

    theReplacement = Replace(oldMessage, "<head>", message)
    WebBrowser1.DocumentText = theReplacement

End Sub

Этот код добавляет две следующие строки в элементе управления веб-браузером:

<meta http-equiv="X-UA-Compatible"content="IE=edge" />
<base href="(url of the web page)">
2
ответ дан Cynthia Fridsma 26 August 2018 в 16:45
поделиться

Вот худая проблема: если пользователь разрешает представление совместимости в IE8, то он будет переопределять все директивы страниц. Поэтому любая переменная страницы или сервера, которую вы пытаетесь использовать, не сможет помешать переключению IE на представление совместимости, если пользователь включил эту функцию в IE. Большинство людей думает, что директивы страницы или какая-то секретная переменная сервера заголовка исправит сайт. Неа. Ни одно из этих решений не работает, если настройка была переопределена вручную. Я знаю, это просто не круто. Таким образом, следующее будет работать, только если пользователь не включил функцию просмотра совместимости.

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />

Чтобы прояснить шаги, чтобы изменить это в редакторе, отредактируйте ключ:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION

Затем добавьте новый DWORD под названием iexplore.exe. Для этого щелкните правой кнопкой мыши и выберите «Создать»> «DWORD». Дайте этому DWORD десятичное значение 9999. Это сделает все сайты рендерингом без просмотра совместимости. Чтобы включить представление совместимости, снова удалите этот DWORD. Также, если вы хотите автоматизировать это изменение и запустить пакетный скрипт в своей системе, посмотрите скрипт Michal M.

https://gist.github.com/michal-m/1853315

4
ответ дан mbokil 26 August 2018 в 16:45
поделиться

Хотя это не то, что вы просили, если вы владеете сайтом, вы можете добавить следующее в раздел главы html.:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />

См.: http://msdn.microsoft.com/en-us/library/cc288325 (v = vs.85) .aspx

26
ответ дан Todd Horst 26 August 2018 в 16:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: