自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Javascript巧妙解決img做網(wǎng)站異常提交問題

開發(fā) 前端
這里和大家簡單分享一下如何使用javascript巧妙操作img做網(wǎng)站異常提交,相信本文介紹一定會(huì)讓你有所收獲,歡迎大家一起來學(xué)習(xí)Javascript的有關(guān)技巧。

本文向大家描述一下使用javascript巧妙操作img做網(wǎng)站異常提交,表如果要實(shí)現(xiàn)單提交數(shù)據(jù)到服務(wù)器A,如果服務(wù)器A訪問不了就提交到服務(wù)器B,利用js操作img來處理完成是個(gè)不錯(cuò)的選擇。

使用javascript巧妙操作img做網(wǎng)站異常提交

如果要實(shí)現(xiàn)表單提交數(shù)據(jù)到服務(wù)器A,如果服務(wù)器A訪問不了就提交到服務(wù)器B,使用JS實(shí)現(xiàn)上面的所講功能,要考慮跨域問題,有使用過ajax的xmlhttp方法檢測遠(yuǎn)程文件不存在返回404的方案,這種方案在測試時(shí)由于ajax存在跨域問題,所以就不采用了,也使用過img的onerror與onload事件這種方案來處理,但是這種方案會(huì)造成提交表單IE會(huì)彈窗,瀏覽器又?jǐn)r截了彈窗,所以又不采用此方案,哪怎么辦呢?搞得挺久,最終還是利用js操作img來處理完成,下面是具體步驟。

第1步、創(chuàng)建一個(gè)test.htm文件

內(nèi)容如下:

  1. <html> 
  2. <scriptsrcscriptsrc="getMessage.js"></script> 
  3. <body> 
  4. <formnameformname="mfrm"> 
  5. <inputidinputid="SendType" 
  6. type="hidden"value="s129"name="SendType"/> 
  7. <inputidinputid="title"name="title"/> 
  8. <inputonClickinputonClick="returngetMessage(this.form);
  9. "type="button"name="imageField"/> 
  10. </form> 
  11. </body> 
  12. </html> 

第2步:創(chuàng)建getMessage.js文件

內(nèi)容如下:

  1. functiongetMessage(frm){  
  2. varsendtype=frm.SendType;  
  3. vartitle=frm.title;  
  4. //創(chuàng)建模擬form表單  
  5. varobjfrm=document.createElement("form");  
  6. varobjsendtype=document.createElement("input");  
  7. varobjtitle=document.createElement("input");  
  8. //利用操作img來處理目標(biāo)接收數(shù)據(jù)的服務(wù)器頁面  
  9. varobjImg=document.createElement("img");  
  10. objImg.id="TmpSmsImg";  
  11. objImg.src="http://www.xueit.com/images/logo.gif";  
  12. //默認(rèn)服務(wù)器A圖片  
  13. document.body.appendChild(objImg);  
  14. varimgWidth=document.getElementById("TmpSmsImg").width;  
  15. document.body.removeChild(objImg);  
  16.  
  17. if(imgWidth=="210")  
  18. //如果圖片存在,就可以獲取到寬度等于預(yù)定值,  
  19. 默認(rèn)接收數(shù)據(jù)的服務(wù)器A的頁面  
  20. {  
  21. objfrm.action="http://www.xueit.com/testGet.aspx";  
  22. }  
  23. else//圖片不存在,另一臺(tái)接收數(shù)據(jù)的服務(wù)器B的頁面  
  24. {  
  25. objfrm.action="http://demo.xueit.com/testGet.aspx";  
  26. }  
  27.  

#p# 下面是表單的屬性

  1. objfrm.id="TmpForm";  
  2. objfrm.name="TmpForm";  
  3. objfrm.target="_blank";  
  4. objfrm.method="post";  
  5. objfrm.style.display="none";  
  6.  
  7. objsendtype.type="hidden";  
  8. objsendtype.name="SendType";  
  9. objsendtype.value=Utf2Gb(sendtype);  
  10.  
  11. objtitle.type="hidden";  
  12. objtitle.name="title";  
  13. objtitle.value=Utf2Gb(title);  
  14.  
  15. //附加  
  16. objfrm.appendChild(objsendtype);  
  17. objfrm.appendChild(objtitle);  
  18.  
  19. //表單提交  
  20. document.body.appendChild(objfrm);  
  21. objfrm.submit();  
  22. document.body.removeChild(objfrm);  
  23.  
  24. //clearobj  
  25. objtitle=null;  
  26. objsendtype=null;  
  27. objfrm=null;  
  28.  
  29. }  
  30.  
  31. //處理編碼函數(shù)  
  32. functionUtf2Gb(str)  
  33. {  
  34. if(str!=null&&str!="")  
  35. str=escape(str);  
  36. returnstr;  
  37. }  
  38.  

 以上代碼主要是利用img圖片,如果圖片所在服務(wù)器正常運(yùn)行的話,圖片會(huì)加載到當(dāng)前頁面的body區(qū)域中,所以再獲取這個(gè)img圖片的寬度,如果寬度等于你知道的預(yù)定值,就代表默認(rèn)服務(wù)器正常,否則代碼服務(wù)器A不正常,就把數(shù)據(jù)提交到服務(wù)器B處理。
 

【編輯推薦】

  1. Javascript中CSS屬性float特殊寫法
  2. 兼容IE6,IE7,IE8,Firefox的CSS HACK寫法
  3. Javascript代碼輕松判斷IE6瀏覽器
  4. 完美實(shí)現(xiàn)IE6/IE7/FF瀏覽器兼容通用方法
  5. IE6.0中使用Javascript支持png格式圖片

 

 

責(zé)任編輯:佚名 來源: lianglong.org
相關(guān)推薦

2010-10-08 15:35:32

Javascriptimg

2009-01-15 09:49:00

網(wǎng)絡(luò)地址切換

2010-08-31 13:56:38

PHP5多線程

2009-12-31 14:50:12

ADSL網(wǎng)絡(luò)無法解析

2009-11-09 10:10:13

WCF異常

2012-04-05 10:10:33

服務(wù)器虛擬化存儲(chǔ)管理

2012-06-27 07:50:20

虛擬化

2010-01-05 16:09:37

交換機(jī)無法ping通

2024-05-08 16:44:40

TCPRST網(wǎng)絡(luò)協(xié)議

2010-09-30 15:24:31

滾動(dòng)條Javascript

2022-06-09 09:20:41

ahooksaxios

2024-03-27 07:55:58

SpringRedis海量

2009-02-19 10:14:00

2011-07-24 15:29:47

激光打印機(jī)常見故障

2010-01-06 14:24:40

Javascript解

2010-12-14 13:44:55

VPN連接VPN故障VPN網(wǎng)絡(luò)訪問故障

2013-02-26 09:51:31

Windows 8應(yīng)用異常問題

2023-09-17 23:23:14

Java異常堆棧

2025-03-06 08:37:01

2010-09-06 10:14:55

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)