TIPS-Web Page with Mixed Client Script Languages

今天同事回報一個問題。

我之前寫的控件,會Render一段<script>(ASP.NET 1.1時代寫的,當時年紀小,沒宣告language也沒宣告type)。同事在<head>區加入了一段VBScript後,VBScript執行正常,跑到後方<script>中的Javascript時IE就出錯了。

由錯誤訊息看起來,應是IE遇到第一個<script> Block是VBScript,就把預設Client-Side Script Language設成VBScript,導致沒加註type/language的Script Block也被當成VBScript解讀。在之前處理木馬問題時,我們就見識過這個自作聰明的特性,而在HTML 4.01的規格之後才能強制宣告Client-Script Default Language。

所以以下的HTML在IE裡是會出錯的。

<html><head>
<script type="text/vbscript">
MsgBox "Test1"
</script>
<script>
alert("Test2");
</script>
</head><body>
Mixed Client-Script Language Test
</body></html>

要怎麼解決? 改控件在<script>上加註type是比較斧底抽薪的正解;如果想鋸箭,在VBScript Block的前端插個隊,再塞一個Javascript Block先佔先鸁,也是可行的。

歡迎推文分享:
Published 10 July 2007 09:49 AM 由 Jeffrey
Filed under: ,
Views: 6,672



意見

沒有意見

你的看法呢?

(必要的) 
(必要的) 
(選擇性的)
(必要的) 
(提醒: 因快取機制,您的留言幾分鐘後才會顯示在網站,請耐心稍候)

5 + 3 =

搜尋

Go

<July 2007>
SunMonTueWedThuFriSat
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234
 
RSS
創用 CC 授權條款
【廣告】
twMVC

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication