最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決遠程頁面抓取中的亂碼問題?

 更新時間:2007年03月04日 00:00:00   作者:  
由于平時使用的網(wǎng)頁文件基本上都是gb2312編碼方式,如果通過xmlhttp控件讀取的話,肯定會出現(xiàn)亂碼問題,但是要把所有文件都改成utf-8編碼,操作上比較麻煩。經(jīng)過反復比較,我找到了相對實用的解決方法。

  ff提供了overrideMimeType方法,可以指定返回值的編碼,所以解決起來比較簡單,只要把這個方法指向gb2312就可以了。對于IE,可以用vbs配合來作編碼轉(zhuǎn)換,用gb2utf8來轉(zhuǎn)換接收到的二進制數(shù)據(jù),其中利用到execScript方法來調(diào)用vbs的函數(shù)。

ie下的轉(zhuǎn)碼可以改進,通過正則的回調(diào)過程能提高不少效率  

復制代碼 代碼如下:

this.bs2str = function(bs){  
    if(!window.jsMidB) main.vbInit("MidB", 2);  
    if(!window.jsChr) main.vbInit("Chr", 1);  
    if(!bs2str.ss) bs2str.ss = [];  
    return unescape(escape(jsMidB(bs,1)).replace(/(.{2})(.{2})(.{2})/g, "%$3%$2").replace(/%([^0-7].)(.)(.{2})/g, function(a,a1,a2,a3){var s=a1+a3;if(!bs2str.ss[s]) bs2str.ss[s]=jsChr(eval("0x"+s));return bs2str.ss[s];}));  
    } 

不過我還是認為載入數(shù)據(jù)用xmldom要好一些 
replace(/(.{2})(.{2})(.{2})/g, "%$3%$2") 改成 replace(/.{2}(.{2})(.{2})/g, "%$2%$1") 少一個存儲.比原來的快3倍以上. 
把eval去掉,效率還能提高一些 
復制代碼 代碼如下:

    // byte() encoding 
    this.bs2str = function(bs){ 
        if(!window.jsMidB) main.vbInit("MidB", 2); 
        if(!window.jsChr) main.vbInit("Chr", 1); 
        if(!this.bs2str.ss) this.bs2str.ss = []; 
        return unescape(escape(jsMidB(bs,1)).replace(/.{2}(.{2})(.{2})/g, "%$2%$1").replace(/%([^0-7].)(.)(.{2})/g, function(a,a1,a2,a3){var s=a1+a3;if(!This.bs2str.ss[s]) This.bs2str.ss[s]=jsChr("&H"+s);return This.bs2str.ss[s];})); 
    }  

相關文章

  • JavaScript數(shù)據(jù)類型學習筆記

    JavaScript數(shù)據(jù)類型學習筆記

    這篇文章主要針對JavaScript數(shù)據(jù)類型整理的學習筆記,分享給大家,感興趣的小伙伴們可以參考一下
    2016-01-01
  • js獲取鼠標點擊的對象,點擊另一個按鈕刪除該對象的實現(xiàn)代碼

    js獲取鼠標點擊的對象,點擊另一個按鈕刪除該對象的實現(xiàn)代碼

    下面小編就為大家?guī)硪黄猨s獲取鼠標點擊的對象,點擊另一個按鈕刪除該對象的實現(xiàn)代碼。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05
  • JS實現(xiàn)基數(shù)排序的示例代碼

    JS實現(xiàn)基數(shù)排序的示例代碼

    基數(shù)排序是一種根據(jù)數(shù)字位數(shù)的值,對整數(shù)進行排序的算法,本文主要介紹了JS實現(xiàn)基數(shù)排序的示例代碼,具有一定的參考價值,感興趣的可以了解一下
    2023-12-12
  • 揭秘JavaScript Reduce的用法

    揭秘JavaScript Reduce的用法

    作為高級前端切圖仔,我們經(jīng)常遇到需要處理、聚合或轉(zhuǎn)換數(shù)據(jù)的場景,JavaScript 的reduce()方法是一個強大的工具,它允許我們有效地迭代數(shù)組并累積單個值,從而簡化了這些任務,本文將給大家揭秘JavaScript Reduce方法,需要的朋友可以參考下
    2023-09-09
  • JavaScript基于inquirer封裝一個控制臺文件選擇器

    JavaScript基于inquirer封裝一個控制臺文件選擇器

    這篇文章主要介紹了JavaScript基于inquirer封裝一個控制臺文件選擇器,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-08-08
  • 獲取offsetTop和offsetLeft值的js代碼(兼容)

    獲取offsetTop和offsetLeft值的js代碼(兼容)

    offsetTop和offsetLeft的值在某些特殊的情況下是會使用到的,為了實現(xiàn)值的準確獲取,本文采用js代碼實現(xiàn)下,有需求的朋友可以參考下哈
    2013-04-04
  • JS基礎之undefined與null的區(qū)別分析

    JS基礎之undefined與null的區(qū)別分析

    在JavaScript開發(fā)中,被人問到:null與undefined到底有啥區(qū)別?一時間不好回答,特別是undefined,因為這涉及到undefined的實現(xiàn)原理。
    2011-08-08
  • JS?中的類Public,Private?和?Protected詳解

    JS?中的類Public,Private?和?Protected詳解

    這篇文章主要介紹了JS中的類Public,Private和Protected詳解,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • 微信小程序?qū)崿F(xiàn)拖拽功能

    微信小程序?qū)崿F(xiàn)拖拽功能

    這篇文章主要介紹了微信小程序?qū)崿F(xiàn)拖拽功能,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • JavaScript中的16進制字符(改進)

    JavaScript中的16進制字符(改進)

    后來經(jīng)過自己的測試,發(fā)現(xiàn)將字符轉(zhuǎn)換為十六進制的方法不完善。
    2011-11-11

最新評論

灌南县| 疏附县| 阿尔山市| 乐昌市| 于田县| 开江县| 辽宁省| 伊金霍洛旗| 海丰县| 大田县| 河东区| 牡丹江市| 博罗县| 敦化市| 洛阳市| 钟祥市| 巴林左旗| 凯里市| 仁化县| 宿迁市| 宜君县| 尤溪县| 望谟县| 桦南县| 横山县| 香格里拉县| 长葛市| 蒙山县| 米泉市| 清原| 梧州市| 三都| 温州市| 成都市| 虹口区| 浦江县| 张家港市| 开封县| 荆门市| 宜昌市| 慈利县|