2011-06-16 59 views
2

我一直在努力讓自己的網站表現良好。一種可能的方法是在我的HTML中內嵌一個像LAB.js腳本一樣的加載器,然後在下一行中並行加載我的腳本。IE8令人難以置信的內聯LAB.JS腳本問題

因此,在包含一堆代碼的LAB.js庫裏面,有這樣一行代碼{var c=/^\w+\:\/\//,d;if(typeof a!=q)。當我把這段代碼內嵌在我的HTML腳本標記內時,它在Mozilla和Chrome中都能很好地工作,但是在這個叫做「microsoft」的偉大軟件公司構建的名爲Internet Explorer 8的瀏覽器中失敗了。

看看"\/\//"的部分。最後兩個字符「//」在mozilla和chrome中都沒有任何問題。但是,在IE中,最後兩個字符被解析爲註釋操作符,因此,最後兩行後面的任何代碼都會顯示爲註釋(無用)。這真的不可思議。在IE中,這兩個字符之後的其餘代碼實際上是無用的和綠色的(如註釋中)有沒有人看到過這個問題發生過?請幫助。謝謝。

在Mozilla和鉻:(最後兩個字符) 「//」 ,d;if(typeof a!=q)

在IE中://,d;if(typeof a!=q)

+0

迷人 - 我重新標記了你的questi這樣圖書館的作者會看到它:-) – Pointy 2011-06-16 20:09:34

+0

@Pointy:謝謝你添加標籤!當我寫這個問題,我甚至忘記包含最重要的「LAB.js」標籤:) – 2011-06-16 20:17:28

回答

2

你可以圍繞你的正則表達式與(?:...)

c=/(?:^\w+\:\/\/)/,d;if(typeof a!=q) 
+0

,我仍然處於一種震驚不相信的模式,即正則表達式技巧的工作原理。謝謝! – 2011-06-16 22:27:40

+0

我會說,雖然這是一個非常有趣的問題,你遇到了! – Blindy 2011-06-17 00:19:45

1

如果你嘗試什麼,

c = new RegExp("^\w+\:\/\/"),d;if(typeof a!=q) 
相關問題