>  기사  >  웹 프론트엔드  >  스크립트는 VML_VML 관련을 동적으로 생성합니다.

스크립트는 VML_VML 관련을 동적으로 생성합니다.

WBOY
WBOY원래의
2016-05-16 12:09:521862검색

我们编写 VML 很重要的就是要和 数据库结合,如果和数据库结合了,读数据和把数据转换成 VML 变成了两部分。如果直接使用 ASP 生成 包含很多 VML 的页面,一旦数据量多了,整个页面就变得很庞大,下载速度慢了,IE解释代码的速度也慢了,所以用脚本动态生成 VML 变得非常重要了。

    用 VML 画一个示意图,可以更明确上面的意义:


    前面的图文简单的说就是:使用一个 Iframe 做后台,前台用脚本生成。也许担心,后台已经完成了,但前台还没有初始化的情况,你可以放心,因为读数据的过程肯定相对要慢,如果担心数据量少,只要你把脚本放在 Body 前面,Iframe 放在 Body 的最后面,就不会产生同步错误的问题了。
    现在来具体讲讲如何用脚本动态产生 VML 。其实这和用脚本动态产生 HTML 是一样的过程。



  动态创建VML









相应的在 readData.asp 里面:

<script></font><br><font style="BACKGROUND-COLOR: silver"><font color="red"><%</FONT><BR>'<FONT color=green>数据库连接部分</FONT><BR>'<FONT color=green>读数据部分</FONT><BR><STRONG>Do</STRONG> <STRONG>Until</STRONG> rs.<STRONG>EOF</STRONG><BR><FONT color=red>%></font></font><br>  <font color="#ff6600">parent</font>.createPoint(<font style="BACKGROUND-COLOR: silver"><font color="red"><%=</FONT>x<FONT color=red>%></font></font>,<font style="BACKGROUND-COLOR: silver"><font color="red"><%=</FONT>y<FONT color=red>%></font></font>,<font style="BACKGROUND-COLOR: silver"><font color="red"><%=</FONT>value<FONT color=red>%></font></font>);<br><font style="BACKGROUND-COLOR: silver"><font color="red"><%</FONT><BR><STRONG>Loop</STRONG><BR>'<FONT color=green>数据库关闭部分</FONT><BR><FONT color=red>%></font></font><br><font color="#ff6600"></script>

上面的颜色采用 HomeSite 4.5.2风格

위 내용을 읽으신 후, 이 모델을 이해하셨나요? VML을 동적으로 생성할 때 주의해야 할 몇 가지 문제에 대해 이야기해 보겠습니다. 먼저 문서의 createElement 메서드에 대해 이야기해 보겠습니다. IE 버전마다 createElement의 사용법이 다릅니다. 이전 버전의 IE에서는 createElement가 Select에서만 OPTION을 생성할 수 있습니다. 예를 들어 var newOption=document.createElement("OPTION"); 사용되는 것은 var newElement=document.createElement("
"); 여기서 매개변수는 DIV가 아닌 완성된 HTML 태그여야 한다는 점에 유의하세요. 이 방법을 사용하면 이점이 있습니다. 새로 생성된 객체를 하나의 문장으로 명확하게 설명할 수 있다는 것입니다. insertBefore 메소드는 매우 유용합니다. 새로 생성된 객체를 끝에 삽입합니다.
처음에는 Group1이 있으며 향후 동적으로 생성되는 모든 VML은 Group1 뒤에 직접 삽입될 수 있습니다. 나는 세 가지 실험을 수행했습니다. 첫 번째는 ASP를 사용하여 VML 코드를 생성하는 것입니다. 두 번째는 Iframe 없이 동일한 페이지에서 스크립트를 생성하는 것입니다. 세 번째는 Iframe을 사용하여 스크립트를 생성하는 것입니다. 결과적으로, 데이터량이 많은 조건에서는 세 번째가 가장 효율적이고, 두 번째가 그 뒤를 따르며, 첫 번째가 확실히 느린 느낌을 줍니다.
다음 섹션에서는 VML의 가장 흥미로운 기능인 확대 및 축소에 대해 설명합니다!
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.