2009-12-22 83 views
0

我正在玩一個基於Python的HTML解析器和分析的Stackoverflow。解析器吐上的線與這個JavaScript的目的是什麼?

HTMLParser.HTMLParseError: bad end tag: "</'+'scr'+'ipt>", at line 649, column 29 

錯誤指向的JavaScript在網站的源下列行:

<script type="text/javascript"> 
    document.write('<s'+'cript lang' + 'uage="jav' + 'ascript" src=" [...] ">'); 
    document.write('</'+'scr'+'ipt>'); 
</script> 

([...]代替長連接,這是爲除去簡單)

出於好奇,是否有什麼看起來像我的代碼人工'混淆'的特定原因,即爲什麼使用document.write方法連接所有切碎的字符串?

+3

的'「」'需要被砍傷以避免HTML解析器假設它是腳本塊的結尾。不知道爲什麼其他東西是。 – 2009-12-22 03:29:56

回答

7

我認爲這是打adblockers。

... + 'uage="jav' + 'ascript" src="http://ads.stackoverflow.com 
+0

是的,這看起來像是因爲它在頁面的廣告部分。他們甚至混淆了div類名稱,聽起來不像廣告。 :) – Jeff 2009-12-22 03:35:09

-1

也許它會停止專門搜索腳本標記的程序。例如,廣告攔截器會查找腳本標記和對象標記。

+0

有趣的是,在這個問題中,最高評分的答案和最低評分的答案是相同的。 :) – carl 2009-12-22 04:07:28

2

已寫的方式,以避免瀏覽器認爲它是<script>結束標記,這將導致一些問題。

+1

儘管如此,這並不能解釋爲什麼頂線被切碎。 – 2009-12-22 03:34:19

+0

因爲你不能在另一個裏面寫一個標籤'