- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这里需要干预,因为我对此几乎失去了理智 0_o
我正在使用 IE 9 并使用 IE 的 F12 开发人员工具,尝试测试 IE8。我正在使用 JavaScript 执行一项非常简单的任务。
我正在抓取一些内部 html - 无论出于何种原因将其用作诱饵。
像这样:
<div id="Some_Container_div">
<div class="Some_Inner_Div_Class">sometext</div>
<div class="Some_Inner_Div_Class">sometext</div>
<div class="Some_Inner_Div_Class">sometext</div>
</div>
<script>
var Div_Contaiers_Inner_Html_As_String = document.getElementById('Some_Container_div').innerHTML;
alert(Div_Contaiers_Inner_Html_As_String);
Array_Of_Divs = Div_Contaiers_Inner_Html_As_String.split("</div>");
alert(Array_Of_Divs);
</script>
<小时/>
上面的代码正确地发出警报:第一:
<div class="Some_Inner_Div_Class">sometext</div><div class="Some_Inner_Div_Class">sometext</div><div class="Some_Inner_Div_Class">sometext</div>
然后第二个警报正确的数组:
<div class="Some_Inner_Div_Class">sometext,<div class="Some_Inner_Div_Class">sometext,<div class="Some_Inner_Div_Class">sometext,
<小时/><小时/>
如果我现在使用开发人员工具 (f12) 并切换到“浏览器模式”IE8,并将“文档模式”也切换到 IE8,浏览器现在会发出警报:
第一:
<DIV class=Some_Inner_Div_Class>sometext</DIV><DIV class=Some_Inner_Div_Class>sometext</DIV><DIV class=Some_Inner_Div_Class>sometext</DIV>
接下来它会发出同样的警报:
<DIV class=Some_Inner_Div_Class>sometext</DIV><DIV class=Some_Inner_Div_Class>sometext</DIV><DIV class=Some_Inner_Div_Class>sometext</DIV>
所以看起来它现在甚至没有将字符串分割成数组 - 不知道为什么,就像它不再是一个字符串一样。
如果我现在使用开发人员工具 (f12) 并保留“浏览器模式”IE8,并将“文档模式”也切换到 IE9 - 它会再次正常工作......
非常感谢比尔·盖茨再次让我困惑 0_O
无论如何 - 所以我在这里寻求帮助 - 我看到有些人说在使用开发人员工具进行测试时应该将“浏览器模式”切换到 IE8,并将“文档模式”也切换到 IE8 - 但我没有看到解释明白为什么。如果只切换其中之一或两者,有什么区别。
同时:
谢谢大家:)
最佳答案
这是一个兼容性问题。 JScript 5 引擎 (IE7/IE8) 存在严重缺陷,这是它所做的事情之一(从属性中剥离 "
并在生成 innerHTML
字符串时更改大小写)。同样,因为innerHTML
螺丝带有大写字母,它试图匹配您的 .split("</div>");
针对包含 </DIV>
的字符串并失败了。
尝试使用.split(/<\/div>/i);
反而。这并不能解决 "
的损失s 来自您的属性,但这是部分修复。 See this answer对于一个似乎可以修复缺少引号和大写的函数(如果引号是必要的)。
本质上,浏览器模式不会对 Internet Explorer 呈现页面的方式做任何事情1。浏览器模式会影响 IE 获取页面的方式,从而更改发送到服务器的 UserAgent。
文档模式发生变化 version of the Trident rendering engine ,以及是否 IE9 Chakra Javascript engine or the IE8/IE7 variants of the JScript engine被使用。
TL;DR,出于测试目的,您应该将浏览器模式更改为 IE8,然后观察文档模式是否默认为 IE8 标准或 Quirks。如果代码不起作用,请在两者之间切换。如果代码随后有效,请确保您为有效的模式设置了适当的 DOCTYPE ( Transitional for Quirks mode, Strict for Standards mode )。
[1] 浏览器模式也会影响浏览器解释条件注释的方式,以及默认文档模式(使其与浏览器模式匹配),因此仅更改此是一个好方法弄清楚 IE8 将如何解释页面...但是如果您有 X-UA 兼容的元标记,这种行为很快就会中断,因此如果您使用这些标记,只需将文档模式设置为匹配即可。
关于javascript - IE 测试 Javascript "Browser Mode" "Document Mode"让我发疯!是浏览器兼容性问题还是怎么回事,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13771703/
我正在开发基于桌面 (Windows 7) 的应用程序,并使用 Qt Creator v 5.6.0 开发程序。我有一个非常奇怪的问题,即 我的程序在 DEBUG 模式下崩溃,但在 RELEASE 模
我爱org-tables ,我用它们来记录各种事情。我现在正在为 Nix 记录一些单行代码(在阅读了 Domen Kožar 的 excellent guide 后,在 this year's Eur
org-mode 是否有一个键绑定(bind)可以在编号/项目符号列表项之间移动,就像您可以对标题一样? 喜欢的功能: org-forward-heading-same-level 大纲下一个可见标题
我知道这有点小,但它一直困扰着我。我正在为一个项目使用 Org-mode,我倾向于经常导出为 PDF 或 HTML,这使我的目录中散落着 PDF、Tex 和 HTML 文件。有没有办法将 Org 模式
有什么方法可以让 org-mode 继续编号列表而不是重新启动? 这是情况。你列了一个类似的列表: Sometimes you can restart the display by doing som
如何在组织模式文件中生成所有标签的枚举列表(例如 :tag:)?假设我有一个以下形式的列表: * Head1 :foo:bar: ** Subhead1 :foo: * Head2
我正在使用 org-mode(Emacs:24.3.1,org-mode: 7.9.3f 8.0.6)作为不同代码片段的数据库语言(目前主要是 elisp 和 python)。这在使用 org-mod
相关问题:org-mode: fontify code blocks natively 截至 2012 年 11 月 1 日,我已经获得了最新的 org-mode 和 emacs 版本(组织存储在 o
有谁知道在使用 ido 模式时区分 dired 模式缓冲区名称与迷你缓冲区中其他类型缓冲区的好方法吗?例如...在 dired 模式缓冲区名称末尾显示正斜杠? 最佳答案 您可以简单地更改dired-m
在这个示例脚本中 import argparse parser = argparse.ArgumentParser() parser.add_argument('--modes', help="tes
我第一次学习“操作系统”。在我的书中,我发现了关于“用户模式”和“内核模式”的这句话: "Switch from user to kernel mode" instruction is execute
我刚刚下载了 Processing 2.0 并尝试从“模式管理器”安装 Android 模式。但是在安装时出现错误提示:“无法将模式“Android 模式”移动到速写本”。我怎样才能摆脱这个错误? 最
在 android L 中,我尝试将相机闪光灯模式设置为 TORCH,它工作正常,但我无法将其更改回闪光灯模式 AUTO 或闪光灯模式 打开。我只能返回闪存模式 OFF。我尝试了像 camera360
有 2 台机器,A 和 B。有 2 个分支,p16 和 c2。 A 有一个 ext3 文件系统,但在 B 上,存档位于带有 vfat 的 truecrypt 驱动器上,mount 显示 rw,uid=
我有 linum-mode在我的 Emacs 配置中全局启用。全局启用意味着它也适用于不受欢迎的速度条。 我为这个问题找到的唯一建议是在存档的 Emacs 帮助邮件列表中,它建议以下 speedbar
Google Cloud Firestore 将很快取代旧的 Google Cloud Datastore。然后可以选择在“ native 模式”或“数据存储模式”下使用 Cloud Firestor
org-mode的版本我的版本 Emacs 附带的(24.5.2) 是 8.2.10 .我已安装版本 8.3.1从 ELPA 并将其添加到我的 init 文件中: (add-to-list 'load
The org-mode manual指出 org-mode 将“”“...在 shell 链接”“”中执行命令,但它不显示此类链接的语法。 我希望能有一个简单完整的示例来说明这种 shell 链接是
我正在尝试在 emacs 24 中使用 dart 模式和 d 模式。如果我单独使用任何一种模式,一切都很好。如果我分别对每种类型的文件使用这两种模式,我在尝试缩进 D 代码时会出错。 以下是在初始化时
我的应用程序中有 CupertinoDatePicker 以使用以下代码选择日期和时间: formatColumn( widget: Consumer( builder: (_, mcProvide
我是一名优秀的程序员,十分优秀!