相关疑难解决方法(0)

为什么IE9会在我的网站上切换到兼容模式?

我刚刚安装了IE9测试版并且在我创建的特定网站上(HTML5)IE9跳转到兼容模式,除非我手动告诉它不要.我试过删除网站的几个部分,但没有变化.包括删除所有CSS包括.在我的其他网站上它很好.

此外,不要手动设置它,因为IE9会记住用户设置,你无法将其恢复为自动(或者至少我没有找到,甚至没有通过隐私浏览和清空缓存)

无论如何.它跳转到兼容模式的网站:http://alliancesatwar.com/guide/
它呈现正确的地方:http://geuze.name/basement/(我不能发布超过1个超链接)

两者都使用相同doctype和全部.这些网站使用相同的基本模板(编码,元标记,doctype和相同的javascript)有很多共同点(除了外观)

如果有人对我有答案,那就太好了!在IE7模式下呈现的HTML5网站非常......蹩脚.

html5 css3 compatibility-mode internet-explorer-9

197
推荐指数
4
解决办法
15万
查看次数

如何将WebBrowser控件放入IE9标准?

我正在使用自动化(即COM自动化)在Internet Explorer(9)中显示一些HTML:

ie = CoInternetExplorer.Create;
ie.Navigate2("about:blank");
webDocument = ie.Document;
webDocument.Write(szSourceHTML);
webDocument.Close();
ie.Visible = True;
Run Code Online (Sandbox Code Playgroud)

出现Internet Explorer,显示我的html,其开头为:

<!DOCTYPE html>
<HTML>
<HEAD>
   ...
Run Code Online (Sandbox Code Playgroud)

注意: html5标准模式选择加入doctypehtml

除非文件不符合ie9标准模式; 它是在ie8标准模式下: 替代文字


如果我先将html保存到我的电脑:

替代文字

然后查看那个 html文档,将IE放入标准模式:

替代文字

我的问题是如何更新我的SpawnIEWithSource(String html)功能以使浏览器进入标准模式?

void SpawnIEWithSource(String html)
{
   Variant ie = CoInternetExplorer.Create();
   ie.Navigate2("about:blank");
   webDocument = ie.Document;
   webDocument.Write(html);
   webDocument.Close();
   ie.Visible = true;
}
Run Code Online (Sandbox Code Playgroud)

编辑:一个更详细,更不易理解或可读的代码示例,这无助于进一步提出问题可能是:

IWebBrowser2 ie;
CoCreateInstance(CLASS_InternetExplorer, null, CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER, IID_WebBrowser2, ie);
ie.AddRef();
ie.Navigate2("about:blank");

IHtmlDocument doc;
dispDoc = ie.Document;
dispDoc.AddRef();
dispDoc.QueryInterface(IHTMLDocument2, doc);
dispDoc.Release()
doc.Write(html); 
doc.Close();
doc.Release();
ie.Visible = true;
ie.Release(); …
Run Code Online (Sandbox Code Playgroud)

com standards html5 automation internet-explorer-9

27
推荐指数
2
解决办法
3万
查看次数

HTML 5 w3c验证

我使用validator.w3.org验证了我的网站

它报告了以下错误:

Line 5, Column 67: Bad value X-UA-Compatible for attribute http-equiv on element meta.
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" >
Run Code Online (Sandbox Code Playgroud)

如果我不包含那个META标签,那么所有IE9访问者都会看到我的网站处于Quirks模式,我想阻止它.

任何帮助将不胜感激!

html5 w3c-validation internet-explorer-9

23
推荐指数
4
解决办法
2万
查看次数

为什么HTML1113:文档模式从IE9标准重新启动到Quirks

我在IE9中打开一个网页 - 然后文档模式突然切换到Quirks模式.页面本身很简单 - 没有doctype,没有元标记,只是形成页面的xslt中的一块(测试目的)javascript.
请在同一位置使用提到的xsl 查看http://home.arcor.de/martin.honnen/xslt/test2012041901.xml.为方便起见,我复制了以下内容.

页面内容是

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="test2012041901.xsl"?>
<test/>
Run Code Online (Sandbox Code Playgroud)

并且xsl包含

<xsl:stylesheet
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  version="1.0"
  xmlns:ms="urn:schemas-microsoft-com:xslt"
  xmlns:my="http://example.com/my"
  exclude-result-prefixes="ms my">

  <xsl:output method="html" version="5.0"/>

  <ms:script language="JScript" implements-prefix="my">
  <![CDATA[
  function tokenize (input) {
    var doc = new ActiveXObject('Msxml2.DOMDocument.6.0');
    var fragment = doc.createDocumentFragment();
    var tokens = input.split(';');
    for (var i = 0, l = tokens.length; i < l; i++)
    {
      var item = doc.createElement('item');
      item.text = tokens[i];
      fragment.appendChild(item);
    }
    return fragment.selectNodes('item');
  }
  ]]>
  </ms:script>

  <xsl:template match="/">
    <html>
      <head> …
Run Code Online (Sandbox Code Playgroud)

browser internet-explorer quirks-mode internet-explorer-9

23
推荐指数
1
解决办法
3万
查看次数

使用Curly Braces在Internet Explorer上的AngularJS数据绑定问题

我在这做错了什么?我已阅读IE兼容性指南,但未提及使用{{}}标记的数据绑定.这在其他浏览器上工作正常,但在IE(包括IE9)中失败.

http://jsfiddle.net/yMgQ8/1/

HTML:

<html ng-app class="ng-app">

    <head></head>

    <body>
        <div ng-controller="Controller">
            <p>{{test}}</p>
        </div>
    </body>

</html>
Run Code Online (Sandbox Code Playgroud)

JavaScript的:

function Controller($scope) {
    $scope.test = "Hello world";
}
Run Code Online (Sandbox Code Playgroud)

我已经尝试添加兼容性指南中提到的步骤,但似乎没有解决它,除非我遗漏了一些明显的东西!

它应输出"Hello world",但在IE上输出{{test}}.

非常感谢.

html javascript internet-explorer angularjs

9
推荐指数
1
解决办法
5974
查看次数

在IE9模式下,WebBrowser中的不需要的滚动条控制

在编辑模式下使用WinForms WebBrowser控件(如此处所述),当将控件切换到" IE9模式 " 时,我遇到了不必要的滚动条.

我正在使用元标记

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
Run Code Online (Sandbox Code Playgroud)

如在描述此过帐切换到编辑模式.

这是在"IE9模式"下的样子:

在此输入图像描述

相比之下,在没有上述元标记的情况下使用它时,它看起来像这样:

在此输入图像描述

在这里,它看起来像预期; 根本不存在水平滚动条,垂直滚动条不活动.

我试过了我能想到的每一个DOCTYPE; 结果似乎保持不变.

(如果重要:正在切换到编辑模式的内容来自我的应用程序的内置迷你网络服务器的本地HTTP URL,即不是来自字符串或来自文件URL).

我的问题是:

有没有办法WebBrowser在"IE9编辑模式"中使用IE9控件,并且只在必要时仍然有滚动条?

c# internet-explorer editmode webbrowser-control winforms

6
推荐指数
1
解决办法
2941
查看次数

IE9将网站投入Quirks模式

我想避免这种情况.我试过了:

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
Run Code Online (Sandbox Code Playgroud)

(从HTML5 doctype将IE9置于怪癖模式?)并且:

<meta http-equiv=”X-UA-Compatible” content=”IE=9? />
Run Code Online (Sandbox Code Playgroud)

(来自父框架的禁用怪癖模式)

但没有帮助.当我做F12 - 文档模式IE9标准 - 页面显示正常.

有解决方案吗

asp.net html5 internet-explorer cross-browser internet-explorer-9

3
推荐指数
1
解决办法
2593
查看次数