2009-09-13 59 views
0

,丟棄,在客戶端的VBScript代碼的一部分被用連字符放入垃圾箱。我看到那個頁面上的VBScript代碼是由一個巨大的代碼部分組成的,它包含在腳本開始和結束標記中。 我決定將它分成小部分,看起來好一點,但是當我將它分段爲10個部分時,其中兩個部分(部分表示開始和結束標記之間的代碼)仍然被丟棄(意味着整個部分代碼被替換爲連字符封閉的HTML開始和結束的話體徵: 和部分之一是沒有這麼大(也許100線),當然還有其他更大的部分未受到損壞 我不能重建任何一臺計算機上的問題。兩個或三個客戶身邊,他們的耐心是一種稀缺資源(我已經使用)。所以,沒有迴旋空間,應該I片段他們更多一些,希望這將有助於?還是其他問題?獲取與連字符,在某些計算機

+0

使用了哪些瀏覽器? VBScript僅在Internet Explorer中受支持。 – 2009-09-13 06:10:25

+0

但它幾乎在每個瀏覽器中運行良好。我不認爲這是一個支持問題。 – 2009-10-30 16:30:48

+0

我發現問題發生在(相對)弱電腦上。顯然計算機無法處理代碼。該解決方案由兩個步驟組成:一個是將進程與進程分離,以便在服務器上處理所有計算,並且客戶端剛剛爲新郎(客戶端)準備好新娘(數據)。第二步是擺脫vbscript。 JavaScript中留下的少量代碼現在被重寫了。謝謝大家(guffa,謝謝。你一定是一個了不起的人,因爲要爲john doe帶來這些麻煩)。 – shayuna 2009-10-31 10:55:55

回答

2

似乎有對腳本標記和html註釋有些混淆,客戶端VBScript標記會是這樣的:

<script type="text/vbscript"> ... </script> 

或者與舊(過時)語言屬性:

<script language="VBScript"> ... </script> 

也就是說VBScript中的,將永遠到達客戶端的唯一類型,當然前提是你把它放在一個.asp頁面。如果將它放在.html頁面中,它將按原樣發送到客戶端,而不通過服務器上的腳本引擎運行。

服務器端VBScript代碼應該是這樣的:

<script runat="server"> ... </script> 

或者縮寫形式:

<% ... %> 

如果你有一個.asp頁面正確的服務器端腳本標籤,裏面的代碼會永遠不會被客戶看到。

HTML註釋是這樣的:

<!-- ... --> 

注意,連字符是HTML註釋的一部分。開始時的兩個連字符打開註釋模式,最後的兩個連字符關閉註釋模式。如果你有註釋內另外兩個連字符,它的斷裂,在頁面上呈現:

<!-- This is not -- a comment --> 

但是,如果你把另一對連字符在打開註釋模式再次,這是一個有效的註釋:

<!-- This is -- -- a comment --> 

HTML註釋有時在腳本標籤內部使用,由於某些歷史原因,不支持腳本的瀏覽器不應在頁面上顯示代碼。現在所有瀏覽器即使不運行腳本,也能理解腳本標記,因此不再需要它了。擁有20年曆史的瀏覽器的風險非常渺茫。

如果你有與他們HTML註釋的腳本標籤,並且兩個腳本標記和HTML註釋將被打破,它可以在瀏覽器中顯示出來。像這樣:

<scrpt type="text/javascript"> 
<!-- 
var i = 1; 
i--; 
//--> 
</script> 

請注意,腳本中的 - 操作符正在打破註釋。如果腳本標記沒有被破壞,那不是問題。瀏覽器不會將腳本內的註釋視爲真正的註釋,因此它不會被打破。

0

我發現了什麼問題。由互聯網提供商提供的防病毒軟件決定在出現「可疑」時中和vbscript代碼。所以,例如,如果vbscript包含一個名爲 - swFileExists的變量,整個vbscript片段變成了一串友好的,不生氣的連字符。

相關問題