Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使VML在标准模式下工作?_Javascript_Internet Explorer_Vml - Fatal编程技术网

Javascript 如何使VML在标准模式下工作?

Javascript 如何使VML在标准模式下工作?,javascript,internet-explorer,vml,Javascript,Internet Explorer,Vml,我希望能够在标准模式而不是怪癖模式下在页面渲染中使用vml对象。我已经找到了分散在各处的答案片段,但无法找到答案。不知怎的把它拔了下来,但我无法扭转它来找出发生了什么。任何基本的工作示例都很好。为什么不直接使用Raphael本身而不是原始VML?拉斐尔兄弟制作了一个几乎在任何地方都能使用的标准图书馆,他们做得非常出色。利用他们的辛勤工作。我想我已经找到了答案。步骤1是通过javascript导入vml名称空间 document.namespaces.add('v', 'urn:schemas-m

我希望能够在标准模式而不是怪癖模式下在页面渲染中使用vml对象。我已经找到了分散在各处的答案片段,但无法找到答案。不知怎的把它拔了下来,但我无法扭转它来找出发生了什么。任何基本的工作示例都很好。

为什么不直接使用Raphael本身而不是原始VML?拉斐尔兄弟制作了一个几乎在任何地方都能使用的标准图书馆,他们做得非常出色。利用他们的辛勤工作。

我想我已经找到了答案。步骤1是通过javascript导入vml名称空间

document.namespaces.add('v', 'urn:schemas-microsoft-com:vml', "#default#VML");
这使得一些随机的vml样本在怪癖模式下工作,而不是在标准模式下工作。它们的关键是,元件需要一个测量单位,如果没有提供单位,quirks模式将假定为px。形状也必须使用
position:absolute设置样式虽然行显然不需要此部分

这是一个有两个椭圆形的样品。两个椭圆都将在“怪癖”模式下渲染,但蓝色椭圆不会在“标准”模式下显示

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head></head>
<body>
    <script>
        document.namespaces.add('v', 'urn:schemas-microsoft-com:vml', "#default#VML");
    </script>
    <v:oval style="width: 100; height: 50" fillcolor="blue"></v:oval>
    <v:oval style="position: absolute; width: 100px; height: 50px" fillcolor="green"></v:oval>
</body>
</html>

document.namespaces.add('v','urn:schemas-microsoft-com:vml',“#default#vml”);

我有一个现有的项目,有很多vml在怪癖模式下工作。我想知道如何更改页面模式,而不是将所有vml替换为raphael调用。