Tag: #javascript vb.net

在IE6 / 7中使用IHTMLElement5 / 6(IE8 / 9)时会发生什么? 它会转向IHTMLElement行为吗?

基本上,IHTMLElement5和IHTMLElement6都是主IHTMLElement的扩展接口,符合以下版本规则: IHTMLElement IE4 IHTMLElement2 IE5 IHTMLElement3 IE5.5 IHTMLElement4 IE6 IHTMLElement5 IE8 IHTMLElement6 IE9 当然,每个新的扩展接口都包含旧成员+自己的新成员,属性等。但是,某些成员(例如.getAttribute)名称相同但已更新。 所以,我的问题是,如果我使用(比方说)IHTMLElement6来声明我的HTML元素并在只安装了IE6的客户端上运行代码,我的对象何时失败并在我设置时保持为Null / Nothing,或者是mshtml.dll足够聪明,可以实现最新情况并默认为IHTMLElement4(实际上是IHTMLElement)行为? 为了澄清括号中的最后一个语句,.getAttribute是在IHTMLElement中添加的,并在IHTMLElement5和IHTMLElement6中更新 – 所以,如果有人只安装了IE6,那么我希望行为默认/恢复为IHTMLElement(不是IHTMLElement4) – 并且如果它不这样做,那么我希望我的代码崩溃。 基本上,我的问题是,究竟会发生什么? 现在,因为我害怕疯了,我只是宣称一切都是IHTMLElement,任何想法? 谢谢。 问题摘要(如果您认为有必要,请阅读,只需要对需要的人进行重新说明):基本上,我希望能够将某些内容声明为IHTMLElement6,以便我可以使用IHTMLElement和IHTMLElement6之间具有相同名称的更新方法(例如.getAttribute)。 这样,在IE9用户上,IHTMLElement6的.getAttribute版本将被利用,同时IHTMLElement的.getAttribute版本仍然适用于(比如说)IE6用户而不会破坏我的代码 – 这就是我的问题所在,当使用IHTMLElement6对象时,即使它是一个IE9接口,IHTMLElement的(IE4接口)版本的.getAttribute会进入/工作还是会得到空引用exception或其他运行时错误? 谢谢大家。 答案越多越好,即使是你的意见并且你不知道这是事实,我想鼓励你仍然发表评论,同时让我们知道你是否知道这是一个事实,或者只是意见/猜猜等等。谢谢。

Visual Studio更改Ctrl-KD的工作方式

在Visual Studio中(我使用的是2012),有没有什么方法可以编辑Ctrl – K – D组合处理其自动格式化的方式 ? 我并不是要改变这些键组合的作用,我的意思是扩展自动格式化的方式 。 它处理标签的方式等都很好,我更关心白空间 。 我们使用的插件可以轻松对齐变量属性,使其易于阅读。 像这样: var test = ‘whatever’, another = ‘this one’, alignedProperly = ‘yay’; 看起来很挑剔是的,但是在非常大的Object文字中,能够阅读它们是非常有帮助的! 有没有人找到自动格式化规则所在的位置,以及是否可以编辑/更改它们? (在选项中的任何地方都找不到它们!)