<font id="zqva1"></font>
<rt id="zqva1"></rt>
  • <tt id="zqva1"></tt>
    <cite id="zqva1"></cite>

    <cite id="zqva1"><noscript id="zqva1"></noscript></cite>
      <rp id="zqva1"><meter id="zqva1"></meter></rp>

        <cite id="zqva1"></cite>
          <b id="zqva1"></b>
          <rp id="zqva1"></rp>
          <cite id="zqva1"></cite>

          <rt id="zqva1"></rt>

        1. <rp id="zqva1"></rp>

          IE9/IE10使用隱藏iframe異步上傳文件問題

          時間:?2017-11-20閱讀:?1226標簽:?iframe

          原理:

          (1)表單上傳原理

          <form method="post" action="/Test/Upload" enctype="multipart/form-data">
          <input type="file" name="file" />
          <input type="submit" />
          </form>

          為form表單添加屬性enctype="multipart/form-data",選擇文件后提交表單即可上傳文件。C#服務器端通過`HttpPostedFileBase file`來接收文件。


          (2)異步上傳原理

          表單提交是同步的,會阻塞頁面,可以將表單提交到一個iframe中,父頁面就不會阻塞了。需要設置form的target屬性等于iframe的name屬性。

          form[target]=iframe[name]


          (3)上傳完成后事件

          服務器端只是單純對表單提交的響應,可以返回一段script腳本作為http響應流,執行javascript。

          Response.Write('<script>alert();</script>'); //響應一段script腳本
          Response.Flush(); //強制清空緩沖區,寫入響應流


          對于iframe異步上傳情形,Response是iframe的響應,返回的script腳本中,可以使用parent獲取父頁面的window對象。


          場景:

          為了把異步上傳封裝成插件,需要對選擇文件和上傳成功事件提供javascript接口,就不得不用javascript來觸發表單中file按鈕的點擊。

          $(':file').click();

          這樣做,會打開選擇文件對話框。

          然后,調用$('form').submit();或$(':submit').click();來提交表單。


          問題:

          在IE9/IE10中,$(':file').click();這樣觸發的選擇文件操作,不能上傳文件。


          原因:

          IE9/IE10限制,file按鈕必須由用戶點擊才可以上傳,雖然$(':file').click();可以選擇文件,但是提交表單會先清空選取的內容,多次點擊才會上傳選中的文件。


          解決方案:

          限制file按鈕的大小width:0;height:0;,并設置絕對定位position:absolute;
          某個按鈕點擊時,在mousemove事件中,把file按鈕移動到該按鈕上面,這樣實際點擊的是移動到此處的file按鈕。

          $('#button1').mousemove(function(e){
          var left=e.pageX, //鼠標位置
          top=e.pageY; //鼠標位置
          $(':file').css({
          left:left,
          top:top
          });
          });



          站長推薦

          1.阿里云: 本站目前使用的是阿里云主機,安全/可靠/穩定。點擊領取2000元代金券、了解最新阿里云產品的各種優惠活動點擊進入

          2.騰訊云: 提供云服務器、云數據庫、云存儲、視頻與CDN、域名等服務。騰訊云各類產品的最新活動,優惠券領取點擊進入

          3.廣告聯盟: 整理了目前主流的廣告聯盟平臺,如果你有流量,可以作為參考選擇適合你的平臺點擊進入

          鏈接: http://www.modern-decoration.com.cn/article/detial/136

          iframe中跨域頁面訪問parent的方法

          在AAA.com域名下的index.htm頁面中內嵌了BBB.com域名下的一個頁面index.htm,正常情況下iframe內部的index.htm頁面是無法訪問父頁面index.htm中的任何dom對象或者js函數的,因為跨域,但我們經常又需要做一些參數回傳的事情怎么辦呢?以上的這種實現方式就很好的解決了這個問題

          iframe父子傳參通信

          在最近的項目里面,用到了不少關于iframe父子傳參通信的相關操作,記錄一下,雖然很簡單,但是確實十分有用的;iframe通信可以分為2種,跨域和非跨域兩種.分別說明;

          iframe在iphone手機上的問題

          通過document.addEventListener(\\\"scroll\\\",function(){})對頁面滾動監聽事件進行監聽,但ios下$(document).scrollTop()值始終為0,對頁面監聽無效。

          iframe的父子頁面進行簡單的相互傳值

          當一個頁面使用了iframe作為嵌套時,如何想要將父頁面的數據傳給iframe子頁面,那iframe所指向的呢個子頁面是怎么獲取呢,又或者子頁面的數據要給父頁面使用,那么父頁面又如何獲取子頁面的數據呢?

          iframe onload事件被block的坑

          最近接手了一個古舊的項目,跟客戶端、服務器端一起調一個支付相關的app內嵌H5頁面,這個頁面有兩部分組成,主頁面A加上一個最終支付頁面B,B頁面是通過iframe嵌入到A頁面中的,A、B兩個頁面之間的交互采用postMessage+hashChange

          iframe標簽刷新頁面停留在當前頁

          整體思路:在iframe所在當前頁面地址url后拼接 #+targetUrl,iframe標簽內a標簽跳轉,父頁面添加如下方法,iframe標簽內調用父頁面js方法用 window.parent.jsfun() 調用。

          JS操作iframe元素

          頁面中有個iframe元素,iframe元素的src是iframe1.html,怎么在demo1.html頁面中操作iframe1.html頁面,js先找到iframe元素(比如命名為:oIframe),那么oIframe.contentWindow就是iframe1.html這個頁面的window

          iframe 透明兼容,設置iframe透明背景的方法

          如何兼容支持iframe框架的背景透明。通過使用allowtransparency和background-color來設置iframe框架的透明效果。

          fly63.com版權所有,內容以共享、參考、研究為目的,不存在任何商業目的。其版權屬原作者所有,如有侵權,請與小編聯系!情況屬實本人將予以刪除!

          文章投稿關于web前端網站點搜索站長推薦網站地圖站長QQ:522607023

          小程序專欄: 土味情話心理測試腦筋急轉彎幽默笑話段子句子語錄成語大全運營推廣

          国产精品高清视频免费 - 视频 - 在线观看 - 影视资讯 - 唯爱网