Internet explorer Internet Explorer和Visual Studio 2008 document.CreateElements出现错误

Internet explorer Internet Explorer和Visual Studio 2008 document.CreateElements出现错误,internet-explorer,visual-studio-2008,Internet Explorer,Visual Studio 2008,我在VisualStudio2008中有一个项目,包含一些html页面和JavaScript。当我运行项目进行调试时,我的IE突然开始表现得异常。即使是在一个简单的HTML页面上,如果我举一个JS函数为例,如下所示: function test() { var svgNS = "http://www.w3.org/2000/svg"; var mySvg = document.createElementNS(svgNS, "svg"); alert("Done!");

我在VisualStudio2008中有一个项目,包含一些html页面和JavaScript。当我运行项目进行调试时,我的IE突然开始表现得异常。即使是在一个简单的HTML页面上,如果我举一个JS函数为例,如下所示:

function test() {
    var svgNS = "http://www.w3.org/2000/svg"; 
    var mySvg = document.createElementNS(svgNS, "svg");
    alert("Done!"); 
}
当我在IE中运行页面时,突然出现了这个错误:“Microsoft JScript运行时错误:对象不支持属性或方法‘CreateElements’”。如果尝试使用cal to.getContext2d上的画布,则会出现相同的错误。如果我调试并检查document对象,例如我可以看到方法CreateElements,但是调用它会产生上述错误

当我使用Chrome作为默认浏览器并从VisualStudio运行页面时,我没有收到任何错误。此外,当我把网页放在web服务器上时,我可以在IE中查看它而不会出错!我完全困惑不解。似乎我的IE和VisualStudio组合不知何故被打破了


我希望有人以前遇到过类似的情况,并感谢您的帮助。

您使用的是哪个版本的IE?用VS2008调试IE8中的一个页面的实现非常粗糙<代码>CreateElements自IE9以来一直受支持。我认为IE8只支持作为纯SVG文档的SVG。从IE9开始,您就可以将HTML与SVG混合使用。

谢谢vasek7。我正在使用IE9。确认一下,在这件事发生之前,一切都很顺利。在测试期间,我一直从IE切换到Chrome,再切换到Safari(使其中一个浏览器成为默认浏览器)。我的怀疑是不知何故IE现在扮演IE8的角色。但这并不能解释为什么当我的页面在web服务器上而不是本地主机上时,我可以从IE正确地查看它。您可能需要强制使用IE9文档模式。尝试添加此元标记
。这解决了问题,非常感谢!!如果您或任何人知道为什么我以前不需要这个,但现在需要,请告诉我。这是因为内部网上的IE与internet上的IE具有不同的渲染模式决策算法。在这里你可以找到它的工作原理:很高兴我问了,我完全不知道这个问题。再次感谢你抽出时间来帮助我。祝您有个美好的一天!