主頁(yè) > 知識(shí)庫(kù) > 腳本動(dòng)態(tài)生成VML

腳本動(dòng)態(tài)生成VML

熱門(mén)標(biāo)簽:北京銷(xiāo)售外呼系統(tǒng)線路 電銷(xiāo)機(jī)器人的宣傳語(yǔ) 石家莊電話機(jī)器人電話 沸思外呼線路 電銷(xiāo)智能機(jī)器人靠譜么 南通電話外呼系統(tǒng)開(kāi)發(fā) 400電話辦理安徽 南寧外呼電銷(xiāo)系統(tǒng)招商 江西防封卡外呼系統(tǒng)怎么安裝
我們編寫(xiě) VML 很重要的就是要和 數(shù)據(jù)庫(kù)結(jié)合,如果和數(shù)據(jù)庫(kù)結(jié)合了,讀數(shù)據(jù)和把數(shù)據(jù)轉(zhuǎn)換成 VML 變成了兩部分。如果直接使用 ASP 生成 包含很多 VML 的頁(yè)面,一旦數(shù)據(jù)量多了,整個(gè)頁(yè)面就變得很龐大,下載速度慢了,IE解釋代碼的速度也慢了,所以用腳本動(dòng)態(tài)生成 VML 變得非常重要了。

    用 VML 畫(huà)一個(gè)示意圖,可以更明確上面的意義:


    前面的圖文簡(jiǎn)單的說(shuō)就是:使用一個(gè) Iframe 做后臺(tái),前臺(tái)用腳本生成。也許擔(dān)心,后臺(tái)已經(jīng)完成了,但前臺(tái)還沒(méi)有初始化的情況,你可以放心,因?yàn)樽x數(shù)據(jù)的過(guò)程肯定相對(duì)要慢,如果擔(dān)心數(shù)據(jù)量少,只要你把腳本放在 Body 前面,Iframe 放在 Body 的最后面,就不會(huì)產(chǎn)生同步錯(cuò)誤的問(wèn)題了。
    現(xiàn)在來(lái)具體講講如何用腳本動(dòng)態(tài)產(chǎn)生 VML 。其實(shí)這和用腳本動(dòng)態(tài)產(chǎn)生 HTML 是一樣的過(guò)程。

html xmlns:v="urn:schemas-microsoft-com:vml">
head>
  title>動(dòng)態(tài)創(chuàng)建VML/title>
/head>
STYLE>
 v\:* { BEHAVIOR: url(#default#VML) }
/STYLE>
script language="JavaScript">
function createPoint(x,y,v)
{
var strElement="v:rect title='"+v+"' style='top:"+x+";left:"+y+"width:100;height:100'>/v:rect>";
var newPoint = document.createElement(strElemnt);
group1.insertBefore(newPoint);
}
/script>
body>
v:group ID="group1" style="WIDTH:200px;HEIGHT:200px;" coordsize = "200,200">
/v:group>
iframe src="readData.asp" name="data" style="display:none">/iframe>
/body>
/html>


相應(yīng)的在 readData.asp 里面:

script>
%
'數(shù)據(jù)庫(kù)連接部分
'讀數(shù)據(jù)部分
Do Until rs.EOF
%>

  parent.createPoint(%=x%>,%=y%>,%=value%>);
%
Loop
'數(shù)據(jù)庫(kù)關(guān)閉部分
%>

/script>

上面的顏色采用 HomeSite 4.5.2風(fēng)格

    看完上面的,是否對(duì)這種模式有所理解呢?下面談?wù)剟?dòng)態(tài)生成 VML 所要注意的一些問(wèn)題,先說(shuō)說(shuō) document 的 createElement 方法。IE版本不同, createElement 的使用也有所區(qū)別,在早期版本的IE, createElement 只能創(chuàng)建 Select 里面 OPTION ,比如說(shuō) var newOption=document.createElement("OPTION"); 但在 IE5.0 以后,createElement 可以創(chuàng)建所有的對(duì)象,使用的方式是 var newElement=document.createElement("div id='oDIV'>/div>"); 注意到?jīng)]有,這里的參數(shù)必須是個(gè)完成的 HTML 標(biāo)記,而不是 DIV,用這個(gè)方法的好處就是,可以用一個(gè)語(yǔ)句把新創(chuàng)建的對(duì)象描述清楚。insertBefore 方法很好用,它把新創(chuàng)建的對(duì)象插入到 最后。
    我們一開(kāi)始就有了 Group1 ,所有以后動(dòng)態(tài)生成的 VML 直接插入到 Group1 的后面就可以了。曾經(jīng)做了三個(gè)實(shí)驗(yàn),第一個(gè)是普通的,用ASP生成 VML 代碼;第二個(gè)是不用Iframe,在同一個(gè)頁(yè)面生成腳本;第三個(gè)就是上面的例子,使用Iframe 產(chǎn)生腳本。結(jié)果在大數(shù)據(jù)量的條件下,效率最高的是第三個(gè),其次是第二個(gè),第一個(gè)有明顯的慢的感覺(jué)。
    接下來(lái)的一節(jié),將講述VML最激動(dòng)人心的功能,放大縮??!

標(biāo)簽:陽(yáng)泉 來(lái)賓 寧夏 鹽城 晉中 云南 衢州 北海

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《腳本動(dòng)態(tài)生成VML》,本文關(guān)鍵詞  腳本,動(dòng)態(tài),生成,VML,腳本,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《腳本動(dòng)態(tài)生成VML》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于腳本動(dòng)態(tài)生成VML的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章