网站繁简切换的JS遇到页面卡死的解决方法_javascript技巧
程序员文章站
2022-05-30 17:00:15
...
公司打算进入*市场,最近开发了繁体版本的网站,数据库里的信息全是简体,除了网页上固定的文字手动翻译了,文章内容标题都不是繁体。
于是在网上找了一段比较流行的繁简切换的JS实现了,不过后来却发现,有些页面会卡死,根本无法执行下去。弹出信息表明都是这个繁简切换的JS带来的问题。
仔细查看了下,发现原来是这个问题。分享下,也许有不少人遇到类似的问题。
先上代码:
//模仿语言包式的简繁转换功能插件!
var Default_isFT = 0 //默认是否繁体,0-简体,1-繁体
var StranIt_Delay = 50 //翻译延时毫秒(设这个的目的是让网页先流畅的显现出来)
//-------代码开始,以下别改-------
//转换文本
function StranText(txt,toFT,chgTxt)
{
if(txt==""||txt==null)return ""
toFT=toFT==null?BodyIsFt:toFT
if(chgTxt)txt=txt.replace((toFT?"简":"繁"),(toFT?"繁":"简"))
if(toFT){return Traditionalized(txt)}
else {return Simplized(txt)}
}
//转换对象,使用递归,逐层剥到文本
function StranBody(fobj)
{
if(typeof(fobj)=="object"){var obj=fobj.childNodes}
else
{
var tmptxt=StranLink_Obj.innerHTML.toString()
if(tmptxt.indexOf("简"){
BodyIsFt=1
StranLink_Obj.innerHTML=StranText(tmptxt,0,1)
//StranLink.title=StranText(StranLink.title,0,1)
}
else
{
BodyIsFt=0
StranLink_Obj.innerHTML=StranText(tmptxt,1,1)
//StranLink.title=StranText(StranLink.title,1,1)
}
setCookie(JF_cn,BodyIsFt,7)
var obj=document.body.childNodes
}
for(var i=0;i{
var OO=obj.item(i)
if("||BR|HR|TEXTAREA|".indexOf("|"+OO.tagName+"|")>0||OO==StranLink_Obj)continue;
if(OO.title!=""&&OO.title!=null)OO.title=StranText(OO.title);
if(OO.alt!=""&&OO.alt!=null)OO.alt=StranText(OO.alt);
if(OO.tagName=="INPUT"&&OO.value!=""&&OO.type!="text"&&OO.type!="hidden")OO.value=StranText(OO.value);
if(OO.nodeType==3){OO.data=StranText(OO.data)}
else StranBody(OO)
}
}
function JTPYStr()
{
return '皑蔼碍爱翱袄奥坝罢摆败颁办绊帮绑镑谤剥饱宝报鲍辈贝钡狈备惫绷笔毕毙闭边编贬变辩辫鳖瘪濒滨宾摈饼拨钵铂驳卜补参蚕残惭惨灿苍舱仓沧厕侧册测层诧搀掺蝉馋谗缠铲产阐颤场尝长偿肠厂畅钞车彻尘陈衬撑称惩诚骋痴迟驰耻齿炽冲虫宠畴踌筹绸丑橱厨锄雏础储触处传疮闯创锤纯绰辞词赐聪葱囱从丛凑窜错达带贷担单郸掸胆惮诞弹当挡党荡档捣岛祷导盗灯邓敌涤递缔点垫电淀钓调迭谍叠钉顶锭订东动栋冻斗犊独读赌镀锻断缎兑队对吨顿钝夺鹅额讹恶饿儿尔饵贰发罚阀珐矾钒烦范贩饭访纺飞废费纷坟奋愤粪丰枫锋风疯冯缝讽凤肤辐抚辅赋复负讣妇缚该钙盖干赶秆赣冈刚钢纲岗皋镐搁鸽阁铬个给龚宫巩贡钩沟构购够蛊顾剐关观馆惯贯广规硅归龟闺轨诡柜贵刽辊滚锅国过骇韩汉阂鹤贺横轰鸿红后壶护沪户哗华画划话怀坏欢环还缓换唤痪焕涣黄谎挥辉毁贿秽会烩汇讳诲绘荤浑伙获货祸击机积饥讥鸡绩缉极辑级挤几蓟剂济计记际继纪夹荚颊贾钾价驾歼监坚笺间艰缄茧检碱硷拣捡简俭减荐槛鉴践贱见键舰剑饯渐溅涧浆蒋桨奖讲酱胶浇骄娇搅铰矫侥脚饺缴绞轿较秸阶节茎惊经颈静镜径痉竞净纠厩旧驹举据锯惧剧鹃绢杰洁结诫届紧锦仅谨进晋烬尽劲荆觉决诀绝钧军骏开凯颗壳课垦恳抠库裤夸块侩宽矿旷况亏岿窥馈溃扩阔蜡腊莱来赖蓝栏拦篮阑兰澜谰揽览懒缆烂滥捞劳涝乐镭垒类泪篱离里鲤礼丽厉励砾历沥隶俩联莲连镰怜涟帘敛脸链恋炼练粮凉两辆谅疗辽镣猎临邻鳞凛赁龄铃凌灵岭领馏刘龙聋咙笼垄拢陇楼娄搂篓芦卢颅庐炉掳卤虏鲁赂禄录陆驴吕铝侣屡缕虑滤绿峦挛孪滦乱抡轮伦仑沦纶论萝罗逻锣箩骡骆络妈玛码蚂马骂吗买麦卖迈脉瞒馒蛮满谩猫锚铆贸么霉没镁门闷们锰梦谜弥觅绵缅庙灭悯闽鸣铭谬谋亩钠纳难挠脑恼闹馁腻撵捻酿鸟聂啮镊镍柠狞宁拧泞钮纽脓浓农疟诺欧鸥殴呕沤盘庞国爱赔喷鹏骗飘频贫苹凭评泼颇扑铺朴谱脐齐骑岂启气弃讫牵扦钎铅迁签谦钱钳潜浅谴堑枪呛墙蔷强抢锹桥乔侨翘窍窃钦亲轻氢倾顷请庆琼穷趋区躯驱龋颧权劝却鹊让饶扰绕热韧认纫荣绒软锐闰润洒萨鳃赛伞丧骚扫涩杀纱筛晒闪陕赡缮伤赏烧绍赊摄慑设绅审婶肾渗声绳胜圣师狮湿诗尸时蚀实识驶势释饰视试寿兽枢输书赎属术树竖数帅双谁税顺说硕烁丝饲耸怂颂讼诵擞苏诉肃虽绥岁孙损笋缩琐锁獭挞抬摊贪瘫滩坛谭谈叹汤烫涛绦腾誊锑题体屉条贴铁厅听烃铜统头图涂团颓蜕脱鸵驮驼椭洼袜弯湾顽万网韦违围为潍维苇伟伪纬谓卫温闻纹稳问瓮挝蜗涡窝呜钨乌诬无芜吴坞雾务误锡牺袭习铣戏细虾辖峡侠狭厦锨鲜纤咸贤衔闲显险现献县馅羡宪线厢镶乡详响项萧销晓啸蝎协挟携胁谐写泻谢锌衅兴汹锈绣虚嘘须许绪续轩悬选癣绚学勋询寻驯训讯逊压鸦鸭哑亚讶阉烟盐严颜阎艳厌砚彦谚验鸯杨扬疡阳痒养样瑶摇尧遥窑谣药爷页业叶医铱颐遗仪彝蚁艺亿忆义诣议谊译异绎荫阴银饮樱婴鹰应缨莹萤营荧蝇颖哟拥佣痈踊咏涌优忧邮铀犹游诱舆鱼渔娱与屿语吁御狱誉预驭鸳渊辕园员圆缘远愿约跃钥岳粤悦阅云郧匀陨运蕴酝晕韵杂灾载攒暂赞赃脏凿枣灶责择则泽贼赠扎札轧铡闸诈斋债毡盏斩辗崭栈战绽张涨帐账胀赵蛰辙锗这贞针侦诊镇阵挣睁狰帧郑证织职执纸挚掷帜质钟终种肿众诌轴皱昼骤猪诸诛烛瞩嘱贮铸筑驻专砖转赚桩庄装妆壮状锥赘坠缀谆浊兹资渍踪综总纵邹诅组钻致钟么为只凶准启板里雳余链泄台标';
}
function FTPYStr()
{
return '皚藹礙愛翺襖奧壩罷擺敗頒辦絆幫綁鎊謗剝飽寶報鮑輩貝鋇狽備憊繃筆畢斃閉邊編貶變辯辮鼈癟瀕濱賓擯餅撥缽鉑駁蔔補參蠶殘慚慘燦蒼艙倉滄廁側冊測層詫攙摻蟬饞讒纏鏟産闡顫場嘗長償腸廠暢鈔車徹塵陳襯撐稱懲誠騁癡遲馳恥齒熾沖蟲寵疇躊籌綢醜櫥廚鋤雛礎儲觸處傳瘡闖創錘純綽辭詞賜聰蔥囪從叢湊竄錯達帶貸擔單鄲撣膽憚誕彈當擋黨蕩檔搗島禱導盜燈鄧敵滌遞締點墊電澱釣調叠諜疊釘頂錠訂東動棟凍鬥犢獨讀賭鍍鍛斷緞兌隊對噸頓鈍奪鵝額訛惡餓兒爾餌貳發罰閥琺礬釩煩範販飯訪紡飛廢費紛墳奮憤糞豐楓鋒風瘋馮縫諷鳳膚輻撫輔賦複負訃婦縛該鈣蓋幹趕稈贛岡剛鋼綱崗臯鎬擱鴿閣鉻個給龔宮鞏貢鈎溝構購夠蠱顧剮關觀館慣貫廣規矽歸龜閨軌詭櫃貴劊輥滾鍋國過駭韓漢閡鶴賀橫轟鴻紅後壺護滬戶嘩華畫劃話懷壞歡環還緩換喚瘓煥渙黃謊揮輝毀賄穢會燴彙諱誨繪葷渾夥獲貨禍擊機積饑譏雞績緝極輯級擠幾薊劑濟計記際繼紀夾莢頰賈鉀價駕殲監堅箋間艱緘繭檢堿鹼揀撿簡儉減薦檻鑒踐賤見鍵艦劍餞漸濺澗漿蔣槳獎講醬膠澆驕嬌攪鉸矯僥腳餃繳絞轎較稭階節莖驚經頸靜鏡徑痙競淨糾廄舊駒舉據鋸懼劇鵑絹傑潔結誡屆緊錦僅謹進晉燼盡勁荊覺決訣絕鈞軍駿開凱顆殼課墾懇摳庫褲誇塊儈寬礦曠況虧巋窺饋潰擴闊蠟臘萊來賴藍欄攔籃闌蘭瀾讕攬覽懶纜爛濫撈勞澇樂鐳壘類淚籬離裏鯉禮麗厲勵礫曆瀝隸倆聯蓮連鐮憐漣簾斂臉鏈戀煉練糧涼兩輛諒療遼鐐獵臨鄰鱗凜賃齡鈴淩靈嶺領餾劉龍聾嚨籠壟攏隴樓婁摟簍蘆盧顱廬爐擄鹵虜魯賂祿錄陸驢呂鋁侶屢縷慮濾綠巒攣孿灤亂掄輪倫侖淪綸論蘿羅邏鑼籮騾駱絡媽瑪碼螞馬罵嗎買麥賣邁脈瞞饅蠻滿謾貓錨鉚貿麽黴沒鎂門悶們錳夢謎彌覓綿緬廟滅憫閩鳴銘謬謀畝鈉納難撓腦惱鬧餒膩攆撚釀鳥聶齧鑷鎳檸獰甯擰濘鈕紐膿濃農瘧諾歐鷗毆嘔漚盤龐國愛賠噴鵬騙飄頻貧蘋憑評潑頗撲鋪樸譜臍齊騎豈啓氣棄訖牽扡釺鉛遷簽謙錢鉗潛淺譴塹槍嗆牆薔強搶鍬橋喬僑翹竅竊欽親輕氫傾頃請慶瓊窮趨區軀驅齲顴權勸卻鵲讓饒擾繞熱韌認紉榮絨軟銳閏潤灑薩鰓賽傘喪騷掃澀殺紗篩曬閃陝贍繕傷賞燒紹賒攝懾設紳審嬸腎滲聲繩勝聖師獅濕詩屍時蝕實識駛勢釋飾視試壽獸樞輸書贖屬術樹豎數帥雙誰稅順說碩爍絲飼聳慫頌訟誦擻蘇訴肅雖綏歲孫損筍縮瑣鎖獺撻擡攤貪癱灘壇譚談歎湯燙濤縧騰謄銻題體屜條貼鐵廳聽烴銅統頭圖塗團頹蛻脫鴕馱駝橢窪襪彎灣頑萬網韋違圍爲濰維葦偉僞緯謂衛溫聞紋穩問甕撾蝸渦窩嗚鎢烏誣無蕪吳塢霧務誤錫犧襲習銑戲細蝦轄峽俠狹廈鍁鮮纖鹹賢銜閑顯險現獻縣餡羨憲線廂鑲鄉詳響項蕭銷曉嘯蠍協挾攜脅諧寫瀉謝鋅釁興洶鏽繡虛噓須許緒續軒懸選癬絢學勳詢尋馴訓訊遜壓鴉鴨啞亞訝閹煙鹽嚴顔閻豔厭硯彥諺驗鴦楊揚瘍陽癢養樣瑤搖堯遙窯謠藥爺頁業葉醫銥頤遺儀彜蟻藝億憶義詣議誼譯異繹蔭陰銀飲櫻嬰鷹應纓瑩螢營熒蠅穎喲擁傭癰踴詠湧優憂郵鈾猶遊誘輿魚漁娛與嶼語籲禦獄譽預馭鴛淵轅園員圓緣遠願約躍鑰嶽粵悅閱雲鄖勻隕運蘊醞暈韻雜災載攢暫贊贓髒鑿棗竈責擇則澤賊贈紮劄軋鍘閘詐齋債氈盞斬輾嶄棧戰綻張漲帳賬脹趙蟄轍鍺這貞針偵診鎮陣掙睜猙幀鄭證織職執紙摯擲幟質鍾終種腫衆謅軸皺晝驟豬諸誅燭矚囑貯鑄築駐專磚轉賺樁莊裝妝壯狀錐贅墜綴諄濁茲資漬蹤綜總縱鄒詛組鑽緻鐘麼為隻兇準啟闆裡靂餘鍊洩臺標';
}
function JTPYWord(){
var jtpyword = new Array('“','”','‘',''','三極管','三极管' ,'中文裏','串行','串列加速器','以太网','奶酪','二極管','二极管','交互式','阿塞拜疆','人工智能','接口','任意球員','任意球员',
'服务器','字節','字节','优先级','元兇','元凶','光盘','光驱','克羅地亞','克罗地亚','全角','冬天裏','冬日裏','凉菜','冷菜',
'凶器','兇器','凶徒','兇徒','兇手','凶手','兇案','凶案','凶殘','兇殘','凶残','兇殺','凶杀','凶殺','分布式','打印','列支敦士登','剪彩',
'加蓬','总线','局域网','特立尼達和多巴哥','特立尼达和托巴哥','半角','卡塔爾','卡塔尔','打印機','打印机','厄立特里亞','厄立特里亚','厄瓜多尔','厄瓜多爾',
'斯威士兰','斯威士蘭','吉布提','吉布堤','基里巴斯','圖瓦盧','图瓦卢','哈萨克斯坦','哥斯達黎加','哥斯达黎加','格魯吉亞','格鲁吉亚','佐治亚','佐治亞','嘴裏',
'土库曼斯坦','薯仔','土豆網','土豆网','坦桑尼亚','坦桑尼亞','端口','塔吉克斯坦','塞舌尔','塞舌爾','塞浦路斯','夏天裏','夏日裏',
'多明尼加共和國','多米尼加*','多米尼加共和國','多米尼加国','多明尼加國','穿梭機','航天飞机','尼日利亚','尼日利亞',
'字符','字号','字库','字符集','存盘','安提瓜和巴布達','安提瓜和巴布达','宋元','洪都拉斯','寻址','寒假裏','宽带','老撾','老挝',
'打门','贊比亞','赞比亚','尼日爾','尼日尔','山洞裏','巴布亞新畿內亞','巴布亚新几内亚','巴巴多斯','布基纳法索','布基納法索','布什','布殊','帕劳','例程',
'平治之乱','平治之亂','几内亚比绍','幾內亞比紹','彩带','彩排','彩楼','彩牌楼','復蘇','复苏','心裏','快闪存储器','闪存','传感','习用','戏彩娱亲',
'手电筒','手电','括号','拿破侖','拿破仑','積架','扫瞄仪','挂钩','掛鈎','控件','台球','桌球','便携式','故事裏','调制解调器','調制解調器','斯洛文尼亞','斯洛文尼亚',
'新纪元','新紀元','日子裏','春假裏','春天裏','春日裏','時間裏','芯片','暑假裏','乍得','克林頓','克林顿','格林納達','格林纳达','凡高','森林裏','榴蓮','榴莲','仿真',
'毛里裘斯','毛里求斯','機械人','机器人','字段','元音','永历','文莱','沙特阿拉伯','沙地阿拉伯','波斯尼亞黑塞哥維那','波斯尼亚和黑塞哥维那','博茨瓦纳','博茨瓦納','侯赛因','侯賽因',
'深淵裏','光标','鼠标','算法','乌兹别克斯坦','词组','塞拉利昂','危地马拉','危地馬拉','冈比亚','岡比亞','疑兇','疑凶','皮裏陽秋','盧旺達','卢旺达','真凶','真兇','硅片','硅谷',
'硬盘','硬件','盘片','磁盘','磁道','福士','秋假裏','秋天裏','秋日裏','程控','突尼斯','尾注','蹦极跳','绑紧跳','等于','短訊','短信','新西蘭','新西兰','所罗门群岛','所羅門群島',
'索馬里','索马里','结彩','佛得角','網絡','网络','互聯網','因特网','彩球','彩绸','彩线','彩船','彩衣' ,'缉凶','緝兇','緝凶','意大利','老字号',
'圣基茨和尼维斯','聖吉斯納域斯','聖文森特和格林納丁斯','圣文森特和格林纳丁斯','圣卢西亚','聖盧西亞','圣马力诺','聖馬力諾','肚裏','肯尼亚','肯雅','任意球',
'航天大学','苦裏','毛里塔尼亚','毛里塔尼亞','莫桑比克','万历','瓦努阿图','瓦努阿圖','也門','也门','着','科摩羅','科摩罗','布隆迪','圭亞那','圭亚那','火锅盖帽','苏里南',
'行凶','行兇','行凶后','行兇後','行凶後','流動電話','移动电话','行程控制','卫生','衞生','埃塞俄比亚','埃塞俄比亞','裏勾外連','裏面','分辨率','译码','出租车','权限','瑙鲁','瑙魯',
'变量','科特迪瓦','貝寧','贝宁','伯利茲','伯利兹','買兇','买凶','買凶' ,'数据库','信息论','奔驰','平治','利比里亚','利比里亞','萊索托','莱索托','软驱','軟件','软件','加载',
'津巴布韦','津巴布韋','词汇','加纳','加納','追凶','追兇','這裏','信道','逞凶鬥狠','逞兇鬥狠','逞凶斗狠','即食麵','方便面','快速面','连字号','进制','入球','算子','遠程控制','远程控制',
'溫納圖萬','醫院裏','酰','巨商','钩','鈎','钩心斗角','鈎心鬥角','写保护','阿拉伯联合酋长国','阿拉伯聯合酋長國','噪声','脱机','雪裏紅','雪裏蕻','雪铁龙','异步','声卡','缺省','颁布','頒佈',
'領域裏','头球','粒入球','马里*','馬里共和國','马耳他','马尔代夫','馬爾代夫','萬事得','狄安娜','戴安娜','點裏','位图','商铺','商鋪','提交','店铺','店鋪','*','*','发布','發布');
return jtpyword;
}
function FTPYWord(){
var ftpyword = new Array('「','」','『','』','三極體','三極體','中文裡','串列','串列加速器','乙太網','乳酪','二極體','二極體','互動式','亞塞拜然','人工智慧','介面','任意球員','任意球員',
'伺服器','位元組','位元組','優先順序','元凶','元凶','光碟','光碟機','克羅埃西亞','克羅埃西亞','全形','冬天裡','冬日裡','冷盤','冷盤',
'凶器','凶器','凶徒','凶徒','凶手','凶手','凶案','凶案','凶殘','凶殘','凶殘','凶殺','凶殺','凶殺','分散式','列印','列支敦斯登','剪綵',
'加彭','匯流排','區域網','千里達托貝哥','千里達托貝哥','半形','卡達','卡達','印表機','印表機','厄利垂亞','厄利垂亞','厄瓜多','厄瓜多',
'史瓦濟蘭','史瓦濟蘭','吉布地','吉布地','吉里巴斯','吐瓦魯','吐瓦魯','哈薩克','哥斯大黎加','哥斯大黎加','喬治亞','喬治亞','喬治亞','喬治亞','嘴裡',
'土庫曼','土豆','土豆網','土豆網','坦尚尼亞','坦尚尼亞','埠','塔吉克','塞席爾','塞席爾','塞普勒斯','夏天裡','夏日裡',
'多明尼加','多明尼加','多明尼加','多米尼克','多米尼克','太空梭','太空梭','奈及利亞','奈及利亞',
'字元','字型大小','字型檔','字符集','存檔','安地卡及巴布達','安地卡及巴布達', '宋元','宏都拉斯','定址','寒假裡','寬頻','寮國','寮國',
'射門','尚比亞','尚比亞','尼日','尼日','山洞裡', '巴布亞紐幾內亞','巴布亞紐幾內亞','巴貝多','布吉納法索','布吉納法索','布希','布希','帛琉','常式',
'平治之亂','平治之亂','幾內亞比索','幾內亞比索','彩帶','彩排','彩樓','彩牌樓','復甦','復甦','心裡','快閃記憶體','快閃記憶體','感測','慣用','戲綵娛親',
'手電筒','手電筒','括弧','拿破崙','拿破崙','捷豹','掃瞄器','掛鉤','掛鉤','控制項','撞球','撞球','攜帶型','故事裡', '數據機','數據機','斯洛維尼亞','斯洛維尼亞',
'新紀元','新紀元','日子裡','春假裡','春天裡','春日裡','時間裡','晶元','暑假裡','查德','柯林頓','柯林頓','格瑞那達','格瑞那達','梵谷','森林裡','榴槤','榴槤','模擬',
'模里西斯','模里西斯','機器人','機器人','欄位','母音','永曆','汶萊','沙烏地阿拉伯','沙烏地阿拉伯','波士尼亞赫塞哥維納','波士尼亞赫塞哥維納','波札那','波札那','海珊','海珊',
'深淵裡','游標','滑鼠','演算法','烏茲別克','片語','獅子山','瓜地馬拉','瓜地馬拉','甘比亞','甘比亞','疑凶','疑凶','皮裡陽秋','盧安達','盧安達','真凶','真凶','矽片','矽谷',
'硬碟','硬體','碟片','磁碟','磁軌','福斯','秋假裡','秋天裡','秋日裡','程式控制','突尼西亞','章節附註','笨豬跳','笨豬跳','等於','簡訊','簡訊','紐西蘭','紐西蘭','索羅門群島','索羅門群島',
'索馬利亞','索馬利亞','結綵','維德角','網路','網路','網際網路','網際網路','綵球','綵綢','綵線','綵船','綵衣','緝凶','緝凶','緝凶','義大利','老字號',
'聖克里斯多福及尼維斯','聖克里斯多福及尼維斯','聖文森及格瑞那丁','聖文森及格瑞那丁','聖露西亞','聖露西亞','聖馬利諾','聖馬利諾','肚裡','肯亞','肯亞','*球',
'航天大學','苦裡','茅利塔尼亞','茅利塔尼亞','莫三比克','萬曆','萬那杜','萬那杜','葉門','葉門','著','葛摩','葛摩','蒲隆地','蓋亞那','蓋亞那','蓋火鍋','蘇利南',
'行凶','行凶','行凶後','行凶後','行凶後','行動電話','行動電話','行程控制','衛生','衛生','衣索比亞','衣索比亞','裡勾外連','裡面','解析度','解碼','計程車','許可權','諾魯','諾魯',
'變數','象牙海岸','貝南','貝南','貝里斯','貝里斯','買凶','買凶','買凶','資料庫','資訊理論','賓士','賓士','賴比瑞亞','賴比瑞亞','賴索托','賴索托','軟碟機','軟體','軟體','載入',
'辛巴威','辛巴威','辭彙','迦納','迦納','追凶','追凶','這裡','通道','逞凶鬥狠','逞凶鬥狠','逞凶鬥狠','速食麵','速食麵','速食麵','連字號','進位','進球','運算元','遠程控制','遠程控制',
'那杜','醫院裡','醯','鉅賈','鉤','鉤','鉤心鬥角','鉤心鬥角','防寫','阿拉伯聯合大公國','阿拉伯聯合大公國','雜訊','離線','雪裡紅','雪裡蕻','雪鐵龍','非同步','音效卡','預設','頒布','頒布',
'領域裡','頭槌','顆進球','馬利共和國','馬利共和國','馬爾他','馬爾地夫','馬爾地夫','馬自達','黛安娜','黛安娜','點裡','點陣圖','展館','展館','送出','展館','展館','*','*','發佈','發佈');
return ftpyword;
}
function Traditionalized(cc){
var str='',ss=JTPYStr(),tt=FTPYStr();
var ssa = JTPYWord(),tta = FTPYWord();
for(var i=0;i{
if(cc.charCodeAt(i)>10000&&ss.indexOf(cc.charAt(i))!=-1)str+=tt.charAt(ss.indexOf(cc.charAt(i)));
else str+=cc.charAt(i);
}
for(var j=0;jif(str.indexOf(ssa[j]) >= 0){
str = str.replace(ssa[j],tta[j]);
}else{
str = str;
}
}
return str;
}
function Simplized(cc){
var str='',ss=JTPYStr(),tt=FTPYStr();
var ssa = JTPYWord(),tta = FTPYWord();
for(var i=0;i{
if(cc.charCodeAt(i)>10000&&tt.indexOf(cc.charAt(i))!=-1)str+=ss.charAt(tt.indexOf(cc.charAt(i)));
else str+=cc.charAt(i);
}
for(var j=0;jif(str.indexOf(tta[j]) >= 0){
str = str.replace(tta[j],ssa[j]);
}else{
str = str;
}
}
return str;
}
function setCookie(name, value) //cookies设置
{
var argv = setCookie.arguments;
var argc = setCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
if(expires!=null)
{
var LargeExpDate = new Date ();
LargeExpDate.setTime(LargeExpDate.getTime() + (expires*1000*3600*24));
}
document.cookie = name + "=" + escape (value)+((expires == null) ? "" : ("; expires=" +LargeExpDate.toGMTString()));
}
function getCookie(Name) //cookies读取
{
var search = Name + "="
if(document.cookie.length > 0)
{
offset = document.cookie.indexOf(search)
if(offset != -1)
{
offset += search.length
end = document.cookie.indexOf(";", offset)
if(end == -1) end = document.cookie.length
return unescape(document.cookie.substring(offset, end))
}
else return ""
}
}
var StranLink_Obj=document.getElementById("StranLink")
if (StranLink_Obj)
{
var JF_cn="ft"+self.location.hostname.toString().replace(/\./g,"")
var BodyIsFt=getCookie(JF_cn)
if(BodyIsFt!="1")BodyIsFt=Default_isFT
with(StranLink_Obj)
{
if(typeof(document.all)!="object") //非IE浏览器
{
href="javascript:StranBody()"
}
else
{
href="#";
onclick= new Function("StranBody();return false")
}
title=StranText("点击以繁体中文方式浏览",1,1);
innerHTML=StranText(innerHTML,1,1);
}
if(BodyIsFt=="1"){setTimeout("StranBody()",StranIt_Delay)}
}
起初我以为是那个递归的问题引起的,但是测试发现就算是很多字符,它仍然能快速的进行替换。
经过排查,原来是JS和OBJECT标签会带来卡死的问题。繁简切换实现必然会跳过某些标签,看到这段,它的作用就是来判断替换哪些标签里的文字。
for(var i=0;i{
var OO=obj.item(i)
if("||BR|HR|TEXTAREA|".indexOf("|"+OO.tagName+"|")>0||OO==StranLink_Obj)continue;
if(OO.title!=""&&OO.title!=null)OO.title=StranText(OO.title);
if(OO.alt!=""&&OO.alt!=null)OO.alt=StranText(OO.alt);
if(OO.tagName=="INPUT"&&OO.value!=""&&OO.type!="text"&&OO.type!="hidden")OO.value=StranText(OO.value);
if(OO.nodeType==3){OO.data=StranText(OO.data)}
else StranBody(OO)
}
加上这个就一切正常了:
if(OO.tagName=="OBJECT")continue;
if(OO.tagName=="SCRIPT")continue;
于是在网上找了一段比较流行的繁简切换的JS实现了,不过后来却发现,有些页面会卡死,根本无法执行下去。弹出信息表明都是这个繁简切换的JS带来的问题。
仔细查看了下,发现原来是这个问题。分享下,也许有不少人遇到类似的问题。
先上代码:
复制代码 代码如下:
//模仿语言包式的简繁转换功能插件!
var Default_isFT = 0 //默认是否繁体,0-简体,1-繁体
var StranIt_Delay = 50 //翻译延时毫秒(设这个的目的是让网页先流畅的显现出来)
//-------代码开始,以下别改-------
//转换文本
function StranText(txt,toFT,chgTxt)
{
if(txt==""||txt==null)return ""
toFT=toFT==null?BodyIsFt:toFT
if(chgTxt)txt=txt.replace((toFT?"简":"繁"),(toFT?"繁":"简"))
if(toFT){return Traditionalized(txt)}
else {return Simplized(txt)}
}
//转换对象,使用递归,逐层剥到文本
function StranBody(fobj)
{
if(typeof(fobj)=="object"){var obj=fobj.childNodes}
else
{
var tmptxt=StranLink_Obj.innerHTML.toString()
if(tmptxt.indexOf("简"){
BodyIsFt=1
StranLink_Obj.innerHTML=StranText(tmptxt,0,1)
//StranLink.title=StranText(StranLink.title,0,1)
}
else
{
BodyIsFt=0
StranLink_Obj.innerHTML=StranText(tmptxt,1,1)
//StranLink.title=StranText(StranLink.title,1,1)
}
setCookie(JF_cn,BodyIsFt,7)
var obj=document.body.childNodes
}
for(var i=0;i
var OO=obj.item(i)
if("||BR|HR|TEXTAREA|".indexOf("|"+OO.tagName+"|")>0||OO==StranLink_Obj)continue;
if(OO.title!=""&&OO.title!=null)OO.title=StranText(OO.title);
if(OO.alt!=""&&OO.alt!=null)OO.alt=StranText(OO.alt);
if(OO.tagName=="INPUT"&&OO.value!=""&&OO.type!="text"&&OO.type!="hidden")OO.value=StranText(OO.value);
if(OO.nodeType==3){OO.data=StranText(OO.data)}
else StranBody(OO)
}
}
function JTPYStr()
{
return '皑蔼碍爱翱袄奥坝罢摆败颁办绊帮绑镑谤剥饱宝报鲍辈贝钡狈备惫绷笔毕毙闭边编贬变辩辫鳖瘪濒滨宾摈饼拨钵铂驳卜补参蚕残惭惨灿苍舱仓沧厕侧册测层诧搀掺蝉馋谗缠铲产阐颤场尝长偿肠厂畅钞车彻尘陈衬撑称惩诚骋痴迟驰耻齿炽冲虫宠畴踌筹绸丑橱厨锄雏础储触处传疮闯创锤纯绰辞词赐聪葱囱从丛凑窜错达带贷担单郸掸胆惮诞弹当挡党荡档捣岛祷导盗灯邓敌涤递缔点垫电淀钓调迭谍叠钉顶锭订东动栋冻斗犊独读赌镀锻断缎兑队对吨顿钝夺鹅额讹恶饿儿尔饵贰发罚阀珐矾钒烦范贩饭访纺飞废费纷坟奋愤粪丰枫锋风疯冯缝讽凤肤辐抚辅赋复负讣妇缚该钙盖干赶秆赣冈刚钢纲岗皋镐搁鸽阁铬个给龚宫巩贡钩沟构购够蛊顾剐关观馆惯贯广规硅归龟闺轨诡柜贵刽辊滚锅国过骇韩汉阂鹤贺横轰鸿红后壶护沪户哗华画划话怀坏欢环还缓换唤痪焕涣黄谎挥辉毁贿秽会烩汇讳诲绘荤浑伙获货祸击机积饥讥鸡绩缉极辑级挤几蓟剂济计记际继纪夹荚颊贾钾价驾歼监坚笺间艰缄茧检碱硷拣捡简俭减荐槛鉴践贱见键舰剑饯渐溅涧浆蒋桨奖讲酱胶浇骄娇搅铰矫侥脚饺缴绞轿较秸阶节茎惊经颈静镜径痉竞净纠厩旧驹举据锯惧剧鹃绢杰洁结诫届紧锦仅谨进晋烬尽劲荆觉决诀绝钧军骏开凯颗壳课垦恳抠库裤夸块侩宽矿旷况亏岿窥馈溃扩阔蜡腊莱来赖蓝栏拦篮阑兰澜谰揽览懒缆烂滥捞劳涝乐镭垒类泪篱离里鲤礼丽厉励砾历沥隶俩联莲连镰怜涟帘敛脸链恋炼练粮凉两辆谅疗辽镣猎临邻鳞凛赁龄铃凌灵岭领馏刘龙聋咙笼垄拢陇楼娄搂篓芦卢颅庐炉掳卤虏鲁赂禄录陆驴吕铝侣屡缕虑滤绿峦挛孪滦乱抡轮伦仑沦纶论萝罗逻锣箩骡骆络妈玛码蚂马骂吗买麦卖迈脉瞒馒蛮满谩猫锚铆贸么霉没镁门闷们锰梦谜弥觅绵缅庙灭悯闽鸣铭谬谋亩钠纳难挠脑恼闹馁腻撵捻酿鸟聂啮镊镍柠狞宁拧泞钮纽脓浓农疟诺欧鸥殴呕沤盘庞国爱赔喷鹏骗飘频贫苹凭评泼颇扑铺朴谱脐齐骑岂启气弃讫牵扦钎铅迁签谦钱钳潜浅谴堑枪呛墙蔷强抢锹桥乔侨翘窍窃钦亲轻氢倾顷请庆琼穷趋区躯驱龋颧权劝却鹊让饶扰绕热韧认纫荣绒软锐闰润洒萨鳃赛伞丧骚扫涩杀纱筛晒闪陕赡缮伤赏烧绍赊摄慑设绅审婶肾渗声绳胜圣师狮湿诗尸时蚀实识驶势释饰视试寿兽枢输书赎属术树竖数帅双谁税顺说硕烁丝饲耸怂颂讼诵擞苏诉肃虽绥岁孙损笋缩琐锁獭挞抬摊贪瘫滩坛谭谈叹汤烫涛绦腾誊锑题体屉条贴铁厅听烃铜统头图涂团颓蜕脱鸵驮驼椭洼袜弯湾顽万网韦违围为潍维苇伟伪纬谓卫温闻纹稳问瓮挝蜗涡窝呜钨乌诬无芜吴坞雾务误锡牺袭习铣戏细虾辖峡侠狭厦锨鲜纤咸贤衔闲显险现献县馅羡宪线厢镶乡详响项萧销晓啸蝎协挟携胁谐写泻谢锌衅兴汹锈绣虚嘘须许绪续轩悬选癣绚学勋询寻驯训讯逊压鸦鸭哑亚讶阉烟盐严颜阎艳厌砚彦谚验鸯杨扬疡阳痒养样瑶摇尧遥窑谣药爷页业叶医铱颐遗仪彝蚁艺亿忆义诣议谊译异绎荫阴银饮樱婴鹰应缨莹萤营荧蝇颖哟拥佣痈踊咏涌优忧邮铀犹游诱舆鱼渔娱与屿语吁御狱誉预驭鸳渊辕园员圆缘远愿约跃钥岳粤悦阅云郧匀陨运蕴酝晕韵杂灾载攒暂赞赃脏凿枣灶责择则泽贼赠扎札轧铡闸诈斋债毡盏斩辗崭栈战绽张涨帐账胀赵蛰辙锗这贞针侦诊镇阵挣睁狰帧郑证织职执纸挚掷帜质钟终种肿众诌轴皱昼骤猪诸诛烛瞩嘱贮铸筑驻专砖转赚桩庄装妆壮状锥赘坠缀谆浊兹资渍踪综总纵邹诅组钻致钟么为只凶准启板里雳余链泄台标';
}
function FTPYStr()
{
return '皚藹礙愛翺襖奧壩罷擺敗頒辦絆幫綁鎊謗剝飽寶報鮑輩貝鋇狽備憊繃筆畢斃閉邊編貶變辯辮鼈癟瀕濱賓擯餅撥缽鉑駁蔔補參蠶殘慚慘燦蒼艙倉滄廁側冊測層詫攙摻蟬饞讒纏鏟産闡顫場嘗長償腸廠暢鈔車徹塵陳襯撐稱懲誠騁癡遲馳恥齒熾沖蟲寵疇躊籌綢醜櫥廚鋤雛礎儲觸處傳瘡闖創錘純綽辭詞賜聰蔥囪從叢湊竄錯達帶貸擔單鄲撣膽憚誕彈當擋黨蕩檔搗島禱導盜燈鄧敵滌遞締點墊電澱釣調叠諜疊釘頂錠訂東動棟凍鬥犢獨讀賭鍍鍛斷緞兌隊對噸頓鈍奪鵝額訛惡餓兒爾餌貳發罰閥琺礬釩煩範販飯訪紡飛廢費紛墳奮憤糞豐楓鋒風瘋馮縫諷鳳膚輻撫輔賦複負訃婦縛該鈣蓋幹趕稈贛岡剛鋼綱崗臯鎬擱鴿閣鉻個給龔宮鞏貢鈎溝構購夠蠱顧剮關觀館慣貫廣規矽歸龜閨軌詭櫃貴劊輥滾鍋國過駭韓漢閡鶴賀橫轟鴻紅後壺護滬戶嘩華畫劃話懷壞歡環還緩換喚瘓煥渙黃謊揮輝毀賄穢會燴彙諱誨繪葷渾夥獲貨禍擊機積饑譏雞績緝極輯級擠幾薊劑濟計記際繼紀夾莢頰賈鉀價駕殲監堅箋間艱緘繭檢堿鹼揀撿簡儉減薦檻鑒踐賤見鍵艦劍餞漸濺澗漿蔣槳獎講醬膠澆驕嬌攪鉸矯僥腳餃繳絞轎較稭階節莖驚經頸靜鏡徑痙競淨糾廄舊駒舉據鋸懼劇鵑絹傑潔結誡屆緊錦僅謹進晉燼盡勁荊覺決訣絕鈞軍駿開凱顆殼課墾懇摳庫褲誇塊儈寬礦曠況虧巋窺饋潰擴闊蠟臘萊來賴藍欄攔籃闌蘭瀾讕攬覽懶纜爛濫撈勞澇樂鐳壘類淚籬離裏鯉禮麗厲勵礫曆瀝隸倆聯蓮連鐮憐漣簾斂臉鏈戀煉練糧涼兩輛諒療遼鐐獵臨鄰鱗凜賃齡鈴淩靈嶺領餾劉龍聾嚨籠壟攏隴樓婁摟簍蘆盧顱廬爐擄鹵虜魯賂祿錄陸驢呂鋁侶屢縷慮濾綠巒攣孿灤亂掄輪倫侖淪綸論蘿羅邏鑼籮騾駱絡媽瑪碼螞馬罵嗎買麥賣邁脈瞞饅蠻滿謾貓錨鉚貿麽黴沒鎂門悶們錳夢謎彌覓綿緬廟滅憫閩鳴銘謬謀畝鈉納難撓腦惱鬧餒膩攆撚釀鳥聶齧鑷鎳檸獰甯擰濘鈕紐膿濃農瘧諾歐鷗毆嘔漚盤龐國愛賠噴鵬騙飄頻貧蘋憑評潑頗撲鋪樸譜臍齊騎豈啓氣棄訖牽扡釺鉛遷簽謙錢鉗潛淺譴塹槍嗆牆薔強搶鍬橋喬僑翹竅竊欽親輕氫傾頃請慶瓊窮趨區軀驅齲顴權勸卻鵲讓饒擾繞熱韌認紉榮絨軟銳閏潤灑薩鰓賽傘喪騷掃澀殺紗篩曬閃陝贍繕傷賞燒紹賒攝懾設紳審嬸腎滲聲繩勝聖師獅濕詩屍時蝕實識駛勢釋飾視試壽獸樞輸書贖屬術樹豎數帥雙誰稅順說碩爍絲飼聳慫頌訟誦擻蘇訴肅雖綏歲孫損筍縮瑣鎖獺撻擡攤貪癱灘壇譚談歎湯燙濤縧騰謄銻題體屜條貼鐵廳聽烴銅統頭圖塗團頹蛻脫鴕馱駝橢窪襪彎灣頑萬網韋違圍爲濰維葦偉僞緯謂衛溫聞紋穩問甕撾蝸渦窩嗚鎢烏誣無蕪吳塢霧務誤錫犧襲習銑戲細蝦轄峽俠狹廈鍁鮮纖鹹賢銜閑顯險現獻縣餡羨憲線廂鑲鄉詳響項蕭銷曉嘯蠍協挾攜脅諧寫瀉謝鋅釁興洶鏽繡虛噓須許緒續軒懸選癬絢學勳詢尋馴訓訊遜壓鴉鴨啞亞訝閹煙鹽嚴顔閻豔厭硯彥諺驗鴦楊揚瘍陽癢養樣瑤搖堯遙窯謠藥爺頁業葉醫銥頤遺儀彜蟻藝億憶義詣議誼譯異繹蔭陰銀飲櫻嬰鷹應纓瑩螢營熒蠅穎喲擁傭癰踴詠湧優憂郵鈾猶遊誘輿魚漁娛與嶼語籲禦獄譽預馭鴛淵轅園員圓緣遠願約躍鑰嶽粵悅閱雲鄖勻隕運蘊醞暈韻雜災載攢暫贊贓髒鑿棗竈責擇則澤賊贈紮劄軋鍘閘詐齋債氈盞斬輾嶄棧戰綻張漲帳賬脹趙蟄轍鍺這貞針偵診鎮陣掙睜猙幀鄭證織職執紙摯擲幟質鍾終種腫衆謅軸皺晝驟豬諸誅燭矚囑貯鑄築駐專磚轉賺樁莊裝妝壯狀錐贅墜綴諄濁茲資漬蹤綜總縱鄒詛組鑽緻鐘麼為隻兇準啟闆裡靂餘鍊洩臺標';
}
function JTPYWord(){
var jtpyword = new Array('“','”','‘',''','三極管','三极管' ,'中文裏','串行','串列加速器','以太网','奶酪','二極管','二极管','交互式','阿塞拜疆','人工智能','接口','任意球員','任意球员',
'服务器','字節','字节','优先级','元兇','元凶','光盘','光驱','克羅地亞','克罗地亚','全角','冬天裏','冬日裏','凉菜','冷菜',
'凶器','兇器','凶徒','兇徒','兇手','凶手','兇案','凶案','凶殘','兇殘','凶残','兇殺','凶杀','凶殺','分布式','打印','列支敦士登','剪彩',
'加蓬','总线','局域网','特立尼達和多巴哥','特立尼达和托巴哥','半角','卡塔爾','卡塔尔','打印機','打印机','厄立特里亞','厄立特里亚','厄瓜多尔','厄瓜多爾',
'斯威士兰','斯威士蘭','吉布提','吉布堤','基里巴斯','圖瓦盧','图瓦卢','哈萨克斯坦','哥斯達黎加','哥斯达黎加','格魯吉亞','格鲁吉亚','佐治亚','佐治亞','嘴裏',
'土库曼斯坦','薯仔','土豆網','土豆网','坦桑尼亚','坦桑尼亞','端口','塔吉克斯坦','塞舌尔','塞舌爾','塞浦路斯','夏天裏','夏日裏',
'多明尼加共和國','多米尼加*','多米尼加共和國','多米尼加国','多明尼加國','穿梭機','航天飞机','尼日利亚','尼日利亞',
'字符','字号','字库','字符集','存盘','安提瓜和巴布達','安提瓜和巴布达','宋元','洪都拉斯','寻址','寒假裏','宽带','老撾','老挝',
'打门','贊比亞','赞比亚','尼日爾','尼日尔','山洞裏','巴布亞新畿內亞','巴布亚新几内亚','巴巴多斯','布基纳法索','布基納法索','布什','布殊','帕劳','例程',
'平治之乱','平治之亂','几内亚比绍','幾內亞比紹','彩带','彩排','彩楼','彩牌楼','復蘇','复苏','心裏','快闪存储器','闪存','传感','习用','戏彩娱亲',
'手电筒','手电','括号','拿破侖','拿破仑','積架','扫瞄仪','挂钩','掛鈎','控件','台球','桌球','便携式','故事裏','调制解调器','調制解調器','斯洛文尼亞','斯洛文尼亚',
'新纪元','新紀元','日子裏','春假裏','春天裏','春日裏','時間裏','芯片','暑假裏','乍得','克林頓','克林顿','格林納達','格林纳达','凡高','森林裏','榴蓮','榴莲','仿真',
'毛里裘斯','毛里求斯','機械人','机器人','字段','元音','永历','文莱','沙特阿拉伯','沙地阿拉伯','波斯尼亞黑塞哥維那','波斯尼亚和黑塞哥维那','博茨瓦纳','博茨瓦納','侯赛因','侯賽因',
'深淵裏','光标','鼠标','算法','乌兹别克斯坦','词组','塞拉利昂','危地马拉','危地馬拉','冈比亚','岡比亞','疑兇','疑凶','皮裏陽秋','盧旺達','卢旺达','真凶','真兇','硅片','硅谷',
'硬盘','硬件','盘片','磁盘','磁道','福士','秋假裏','秋天裏','秋日裏','程控','突尼斯','尾注','蹦极跳','绑紧跳','等于','短訊','短信','新西蘭','新西兰','所罗门群岛','所羅門群島',
'索馬里','索马里','结彩','佛得角','網絡','网络','互聯網','因特网','彩球','彩绸','彩线','彩船','彩衣' ,'缉凶','緝兇','緝凶','意大利','老字号',
'圣基茨和尼维斯','聖吉斯納域斯','聖文森特和格林納丁斯','圣文森特和格林纳丁斯','圣卢西亚','聖盧西亞','圣马力诺','聖馬力諾','肚裏','肯尼亚','肯雅','任意球',
'航天大学','苦裏','毛里塔尼亚','毛里塔尼亞','莫桑比克','万历','瓦努阿图','瓦努阿圖','也門','也门','着','科摩羅','科摩罗','布隆迪','圭亞那','圭亚那','火锅盖帽','苏里南',
'行凶','行兇','行凶后','行兇後','行凶後','流動電話','移动电话','行程控制','卫生','衞生','埃塞俄比亚','埃塞俄比亞','裏勾外連','裏面','分辨率','译码','出租车','权限','瑙鲁','瑙魯',
'变量','科特迪瓦','貝寧','贝宁','伯利茲','伯利兹','買兇','买凶','買凶' ,'数据库','信息论','奔驰','平治','利比里亚','利比里亞','萊索托','莱索托','软驱','軟件','软件','加载',
'津巴布韦','津巴布韋','词汇','加纳','加納','追凶','追兇','這裏','信道','逞凶鬥狠','逞兇鬥狠','逞凶斗狠','即食麵','方便面','快速面','连字号','进制','入球','算子','遠程控制','远程控制',
'溫納圖萬','醫院裏','酰','巨商','钩','鈎','钩心斗角','鈎心鬥角','写保护','阿拉伯联合酋长国','阿拉伯聯合酋長國','噪声','脱机','雪裏紅','雪裏蕻','雪铁龙','异步','声卡','缺省','颁布','頒佈',
'領域裏','头球','粒入球','马里*','馬里共和國','马耳他','马尔代夫','馬爾代夫','萬事得','狄安娜','戴安娜','點裏','位图','商铺','商鋪','提交','店铺','店鋪','*','*','发布','發布');
return jtpyword;
}
function FTPYWord(){
var ftpyword = new Array('「','」','『','』','三極體','三極體','中文裡','串列','串列加速器','乙太網','乳酪','二極體','二極體','互動式','亞塞拜然','人工智慧','介面','任意球員','任意球員',
'伺服器','位元組','位元組','優先順序','元凶','元凶','光碟','光碟機','克羅埃西亞','克羅埃西亞','全形','冬天裡','冬日裡','冷盤','冷盤',
'凶器','凶器','凶徒','凶徒','凶手','凶手','凶案','凶案','凶殘','凶殘','凶殘','凶殺','凶殺','凶殺','分散式','列印','列支敦斯登','剪綵',
'加彭','匯流排','區域網','千里達托貝哥','千里達托貝哥','半形','卡達','卡達','印表機','印表機','厄利垂亞','厄利垂亞','厄瓜多','厄瓜多',
'史瓦濟蘭','史瓦濟蘭','吉布地','吉布地','吉里巴斯','吐瓦魯','吐瓦魯','哈薩克','哥斯大黎加','哥斯大黎加','喬治亞','喬治亞','喬治亞','喬治亞','嘴裡',
'土庫曼','土豆','土豆網','土豆網','坦尚尼亞','坦尚尼亞','埠','塔吉克','塞席爾','塞席爾','塞普勒斯','夏天裡','夏日裡',
'多明尼加','多明尼加','多明尼加','多米尼克','多米尼克','太空梭','太空梭','奈及利亞','奈及利亞',
'字元','字型大小','字型檔','字符集','存檔','安地卡及巴布達','安地卡及巴布達', '宋元','宏都拉斯','定址','寒假裡','寬頻','寮國','寮國',
'射門','尚比亞','尚比亞','尼日','尼日','山洞裡', '巴布亞紐幾內亞','巴布亞紐幾內亞','巴貝多','布吉納法索','布吉納法索','布希','布希','帛琉','常式',
'平治之亂','平治之亂','幾內亞比索','幾內亞比索','彩帶','彩排','彩樓','彩牌樓','復甦','復甦','心裡','快閃記憶體','快閃記憶體','感測','慣用','戲綵娛親',
'手電筒','手電筒','括弧','拿破崙','拿破崙','捷豹','掃瞄器','掛鉤','掛鉤','控制項','撞球','撞球','攜帶型','故事裡', '數據機','數據機','斯洛維尼亞','斯洛維尼亞',
'新紀元','新紀元','日子裡','春假裡','春天裡','春日裡','時間裡','晶元','暑假裡','查德','柯林頓','柯林頓','格瑞那達','格瑞那達','梵谷','森林裡','榴槤','榴槤','模擬',
'模里西斯','模里西斯','機器人','機器人','欄位','母音','永曆','汶萊','沙烏地阿拉伯','沙烏地阿拉伯','波士尼亞赫塞哥維納','波士尼亞赫塞哥維納','波札那','波札那','海珊','海珊',
'深淵裡','游標','滑鼠','演算法','烏茲別克','片語','獅子山','瓜地馬拉','瓜地馬拉','甘比亞','甘比亞','疑凶','疑凶','皮裡陽秋','盧安達','盧安達','真凶','真凶','矽片','矽谷',
'硬碟','硬體','碟片','磁碟','磁軌','福斯','秋假裡','秋天裡','秋日裡','程式控制','突尼西亞','章節附註','笨豬跳','笨豬跳','等於','簡訊','簡訊','紐西蘭','紐西蘭','索羅門群島','索羅門群島',
'索馬利亞','索馬利亞','結綵','維德角','網路','網路','網際網路','網際網路','綵球','綵綢','綵線','綵船','綵衣','緝凶','緝凶','緝凶','義大利','老字號',
'聖克里斯多福及尼維斯','聖克里斯多福及尼維斯','聖文森及格瑞那丁','聖文森及格瑞那丁','聖露西亞','聖露西亞','聖馬利諾','聖馬利諾','肚裡','肯亞','肯亞','*球',
'航天大學','苦裡','茅利塔尼亞','茅利塔尼亞','莫三比克','萬曆','萬那杜','萬那杜','葉門','葉門','著','葛摩','葛摩','蒲隆地','蓋亞那','蓋亞那','蓋火鍋','蘇利南',
'行凶','行凶','行凶後','行凶後','行凶後','行動電話','行動電話','行程控制','衛生','衛生','衣索比亞','衣索比亞','裡勾外連','裡面','解析度','解碼','計程車','許可權','諾魯','諾魯',
'變數','象牙海岸','貝南','貝南','貝里斯','貝里斯','買凶','買凶','買凶','資料庫','資訊理論','賓士','賓士','賴比瑞亞','賴比瑞亞','賴索托','賴索托','軟碟機','軟體','軟體','載入',
'辛巴威','辛巴威','辭彙','迦納','迦納','追凶','追凶','這裡','通道','逞凶鬥狠','逞凶鬥狠','逞凶鬥狠','速食麵','速食麵','速食麵','連字號','進位','進球','運算元','遠程控制','遠程控制',
'那杜','醫院裡','醯','鉅賈','鉤','鉤','鉤心鬥角','鉤心鬥角','防寫','阿拉伯聯合大公國','阿拉伯聯合大公國','雜訊','離線','雪裡紅','雪裡蕻','雪鐵龍','非同步','音效卡','預設','頒布','頒布',
'領域裡','頭槌','顆進球','馬利共和國','馬利共和國','馬爾他','馬爾地夫','馬爾地夫','馬自達','黛安娜','黛安娜','點裡','點陣圖','展館','展館','送出','展館','展館','*','*','發佈','發佈');
return ftpyword;
}
function Traditionalized(cc){
var str='',ss=JTPYStr(),tt=FTPYStr();
var ssa = JTPYWord(),tta = FTPYWord();
for(var i=0;i
if(cc.charCodeAt(i)>10000&&ss.indexOf(cc.charAt(i))!=-1)str+=tt.charAt(ss.indexOf(cc.charAt(i)));
else str+=cc.charAt(i);
}
for(var j=0;j
str = str.replace(ssa[j],tta[j]);
}else{
str = str;
}
}
return str;
}
function Simplized(cc){
var str='',ss=JTPYStr(),tt=FTPYStr();
var ssa = JTPYWord(),tta = FTPYWord();
for(var i=0;i
if(cc.charCodeAt(i)>10000&&tt.indexOf(cc.charAt(i))!=-1)str+=ss.charAt(tt.indexOf(cc.charAt(i)));
else str+=cc.charAt(i);
}
for(var j=0;j
str = str.replace(tta[j],ssa[j]);
}else{
str = str;
}
}
return str;
}
function setCookie(name, value) //cookies设置
{
var argv = setCookie.arguments;
var argc = setCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
if(expires!=null)
{
var LargeExpDate = new Date ();
LargeExpDate.setTime(LargeExpDate.getTime() + (expires*1000*3600*24));
}
document.cookie = name + "=" + escape (value)+((expires == null) ? "" : ("; expires=" +LargeExpDate.toGMTString()));
}
function getCookie(Name) //cookies读取
{
var search = Name + "="
if(document.cookie.length > 0)
{
offset = document.cookie.indexOf(search)
if(offset != -1)
{
offset += search.length
end = document.cookie.indexOf(";", offset)
if(end == -1) end = document.cookie.length
return unescape(document.cookie.substring(offset, end))
}
else return ""
}
}
var StranLink_Obj=document.getElementById("StranLink")
if (StranLink_Obj)
{
var JF_cn="ft"+self.location.hostname.toString().replace(/\./g,"")
var BodyIsFt=getCookie(JF_cn)
if(BodyIsFt!="1")BodyIsFt=Default_isFT
with(StranLink_Obj)
{
if(typeof(document.all)!="object") //非IE浏览器
{
href="javascript:StranBody()"
}
else
{
href="#";
onclick= new Function("StranBody();return false")
}
title=StranText("点击以繁体中文方式浏览",1,1);
innerHTML=StranText(innerHTML,1,1);
}
if(BodyIsFt=="1"){setTimeout("StranBody()",StranIt_Delay)}
}
起初我以为是那个递归的问题引起的,但是测试发现就算是很多字符,它仍然能快速的进行替换。
经过排查,原来是JS和OBJECT标签会带来卡死的问题。繁简切换实现必然会跳过某些标签,看到这段,它的作用就是来判断替换哪些标签里的文字。
复制代码 代码如下:
for(var i=0;i
var OO=obj.item(i)
if("||BR|HR|TEXTAREA|".indexOf("|"+OO.tagName+"|")>0||OO==StranLink_Obj)continue;
if(OO.title!=""&&OO.title!=null)OO.title=StranText(OO.title);
if(OO.alt!=""&&OO.alt!=null)OO.alt=StranText(OO.alt);
if(OO.tagName=="INPUT"&&OO.value!=""&&OO.type!="text"&&OO.type!="hidden")OO.value=StranText(OO.value);
if(OO.nodeType==3){OO.data=StranText(OO.data)}
else StranBody(OO)
}
加上这个就一切正常了:
复制代码 代码如下:
if(OO.tagName=="OBJECT")continue;
if(OO.tagName=="SCRIPT")continue;
推荐阅读
-
网站繁简切换的JS遇到页面卡死的解决方法_javascript技巧
-
网站繁简切换的JS遇到页面卡死的解决方法_javascript技巧
-
根据IP的地址,区分不同的地区,查看不同的网站页面的js代码_javascript技巧
-
网站被黑的假象--ARP欺骗之页面中加入一段js_javascript技巧
-
defer属性导致引用JQuery的页面报“浏览器无法打开网站xxx,操作被中止”错误的解决方法_javascript技巧
-
页面js遇到乱码问题的解决方法是和无法转码的情况_javascript技巧
-
js自动生成的元素与页面原有元素发生堆叠的解决方法_javascript技巧
-
网站被黑的假象--ARP欺骗之页面中加入一段js_javascript技巧
-
页面js遇到乱码问题的解决方法是和无法转码的情况_javascript技巧
-
js自动生成的元素与页面原有元素发生堆叠的解决方法_javascript技巧