问题标签 [vml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
685 浏览

3d - 是否可以在 VML /canvas/SVG 中将文本转换为形状?

我需要使用 vml/canvas/svg 以 3D 显示文本,并对文本的形状进行一些转换,例如 Ctrl+T 在 photoshop 中的效果,甚至将一行文本与曲线对齐。例如,将普通文本转换为旋转的梯形/四边形。

那么,有没有办法先将文本转换为形状?

唯一接近的是getImageData()在Firefox中,这并不理想但还可以。有更好的方法吗?

使用特定于浏览器的 hack 或 voodoo 是可以的,但请不要使用 Flash :)

0 投票
1 回答
5748 浏览

javascript - RaphaelJS中对象的渐变透明度

我试图获得一个部分透明的矩形,其中左侧部分是不透明的,而如果你进入那个方向,右侧部分会更透明。

这适用于 Firefox、Chrome,但不适用于 Internet Explorer 7 或 IE8。在 IE 中,所有矩形都以相同的透明渐变显示。

有关上述代码运行的示例,请参见此处。

那么我该如何为 IE 解决这个问题呢?请注意,我想将矩形放在图像顶部,因此它必须是透明的(不是白色的)。

0 投票
2 回答
622 浏览

javascript - 在 VML 和 Internet Explorer 中禁用图形元素选择

我有一个 JavaScript 应用程序,可以让用户在绘图区域周围移动形状,而我碰巧正在使用 Google Closure 库。在 FF/Safari 中一切都很好。在 IE 中,随着图形元素的移动,它们会被浏览器(移动元素和其他元素)选中,以不可预知的方式在某些元素周围显示彩色虚线背景:

http://i.imgur.com/O33MN.png

如何在 IE 中关闭此行为?

0 投票
2 回答
4052 浏览

javascript - 使用 javascript 添加 VML 元素(图像)

您好我一直在尝试使用 javascript 添加 VML 图像元素。现在这是我用来生成这些图像的内容:

通常当我生成 vml 图像元素时,HTML 代码应该类似于:

现在上面的 javascript 函数适用于 HTML 元素。但是当我用它来生成 VML 元素时。生成的元素不会显示在浏览器中。但是当我检查 document.body.innerHTML 时。我可以看到该元素已实际创建。但它没有显示..

有任何想法吗?有什么方法可以用来用javascript刷新或重绘元素。或者我可以用来解决这个问题的任何东西。

谢谢

0 投票
1 回答
200 浏览

javascript - 如何从逐像素颜色数组中绘制图像?

有没有办法使用 VML 从颜色数组中绘制图像?我有按压缩顺序排列的每个像素的颜色代码数组。我想用putImageData()画布中的方法用 VML 渲染它。

0 投票
8 回答
80626 浏览

html - 使用“X-UA-Compatible”为 IE8 模拟 IE7,但不为 IE9 模拟

我有一个取决于矢量绘图的网站,对于 Internet Explorer,我使用VML,对于其他浏览器,我使用SVG。然而,IE8 不支持这两者,除非退回到具有 VML 的 IE7 模式。

因此我包括<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />.

问题(嗯,实际上是一件好事)是 IE9 现在支持 SVG,所以我不希望它回退到性能和兼容性更差的 IE7 模式。如何只告诉 IE8 回退到 IE7 模式但让 IE9 保持在 IE9 模式?

现在我正在对代理进行服务器端检查,是否在头部包含 EmulateIE7 字符串,但我想尽可能避免这种情况。

0 投票
1 回答
900 浏览

javascript - 保存 VML 和 CSS 标记

我正在使用DD_roundies在 Internet Explorer 中生成圆角。具有圆角元素的页面会被非常频繁地加载,并且roundies 脚本必须运行多次才能圆角并修复 png。这需要很多时间。该脚本生成一些放置在目标元素中的 VML 元素,以及一些它注入到块中的 CSS。

我想保存 VML 和 CSS 以在页面加载时重用,这样我就不必每次都运行脚本。目标元素已经保存在数据库中,并在加载时通​​过 java 重新插入到 DOM 中。

我制作了一个测试页面,在 roundies 脚本运行后,我获取了元素的 html,包括 VML、XML 命名空间和 CSS。我在 IE 中获取块的 innerHTML 时遇到了一些麻烦,但我能够使用 IE 开发人员工具来获取它,这样我就可以对其进行测试。在获得各种片段后,我将它们放在单独的 HTML 文件中,以查看它们是否会正确呈现。我的测试没有奏效。

这是第一个测试页面:

任何帮助将不胜感激,谢谢!

0 投票
2 回答
2269 浏览

javascript - 如何让 VML 在标准模式下工作?

我希望能够在标准模式而不是怪癖模式下的页面呈现上使用 vml 对象。我发现散落在各处的答案片段,但无法弄清楚。拉斐尔以某种方式把它拉下来,但我无法扭转它来弄清楚发生了什么。任何基本的工作示例都会很棒。

0 投票
5 回答
5907 浏览

javascript - 我的网站总是崩溃 IE,无法调试

我有一个网站突然开始让 Internet Explorer 崩溃。

该网站加载并开始执行 javascript,但其中某处机器爆炸了。我什至没有收到脚本错误,它只是崩溃了。我尝试使用内置调试器手动单步执行 js 的每一行,但当然问题不会发生。

如果我选择在应用程序崩溃时对其进行调试,我会看到以下消息。

iexplore.exe 中 0x6c5dedf5 处的未处理异常:0xC0000005:访问冲突读取位置 0x00000090。

调用堆栈中的前 5 项如下所示

VGX.dll!6c5dedf5()
[下面的帧可能不正确和/或丢失,没有为 VGX.dll 加载符号]
VGX.dll!6c594d70()
VGX.dll!6c594f63()
VGX.dll!6c595350()
VGX.dll !6c58f5e3()
mshtml.dll!6f88dd17()

VGX.dll 似乎是 vml 渲染器的一部分,我实际上正在使用 VML。我并不感到惊讶,因为我在使用 vml 时遇到了很多问题,必须按特定顺序设置属性,有时当您将元素附加到 dom 时您无法设置属性,反之亦然(顺便说一句,所有内容均未记录),但随后出现了问题调试时通常可以重现,但现在不行:(

该问题也出现在无插件模式下。

有没有比试错更好的方法来解决这个问题?

编辑: 添加一个控制台,输出对 DOM 的每个可疑修改,使问题仅在有时发生。(控制台也在同一页面上的 javascript 中实现,即使在崩溃后我也能够看到输出,因为窗口仍然可见)显然它似乎是某种竞争条件。

我设法进一步追踪它,当您在刚添加对象后过快地从 DOM 中删除对象时,似乎会发生这种情况。(很可能仅适用于具有某些特殊属性的 vml 元素,没有进一步尝试)并且无法通过在 removeChild 前面添加死循环来修复它(无论如何都是非常糟糕的解决方案),页面必须由浏览器在addChild 之后一次就可以调用removeChild。叹

0 投票
1 回答
788 浏览

internet-explorer - 拉斐尔的VML和不透明度问题

我正在开发一个基于 raphael 的脚本,它可以旋转、调整大小、翻转和翻转图像。我在 IE 中遇到过奇怪的问题:当不透明的图像旋转某个角度,然后被矩阵应用来执行翻转时,上面有黑色区域。

图片旋转翻转: http ://cl.ly/12067d913b6ef423ae59

看到黑色边框了吗?

我已经尝试应用 AlphaImageLoader 但没有。你有什么想法?