0

使用名爲fineloader的JavaScript插件來上傳文件。我的代碼是低於和live demo is located here。出於某種原因,按鈕和輸入不顯示使用IE7和我的筆記本電腦使用IE8,但顯示使用我的虛擬機和IE8以及IE9/FF /等。任何幫助,使其可見將非常感激。fineuploader按鈕不顯示IE7/8

<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="utf-8"> 
     <title>Fine Uploader - Basic</title> 
    </head> 
    <style> 
     #upload-block {width: 280px;} 
     button.gray { 
      border:1px solid black; 
      color: black; 
      height: 25px; 
     } 
    </style> 
    <script src="http://code.jquery.com/jquery-latest.js"></script> 
    <script src="fineuploader-3.1.js"></script> 
    <script> 
     $(document).ready(function() { 
      var uploader = new qq.FineUploaderBasic({button: document.getElementById('uploader')}); 
     }); 
    </script> 

    <body> 
     <div> 
      <label>FILE:</label> 
      <div id="upload-block"> 
       <div id="uploader"> 
        <input type="text" readonly id="myFilename"> 
        <button class="gray">BROWSE</button> 
       </div> 
      </div> 
     </div> 
    </body> 
</html> 
+0

您的演示頁在IE 7上看起來不錯。 –

+0

您是否看到輸入和按鈕? – user1032531

+0

是的,我能看到兩者。 –

回答

1

您的上傳按鈕有點奇怪。爲什麼要提供一個已經有一個文本輸入和一個按鈕元素作爲孩子的div?你知道嗎,上傳器還會添加一個文件輸入元素作爲你的按鈕的子元素(在這裏是#uploader)?

我建議你將文本輸入移動到其他地方,儘管我不能肯定地說它是對你造成問題,因爲所有對我都很好。雖然,我沒有真正的IE8副本(我正在使用兼容模式,就像其他海報一樣)。

我會建議您上傳按鈕選項元素進行修改,看起來像這個:

<div id="uploader"> 
    <div>BROWSE</div> 
</div> 

而且把你的文字輸入別的地方,也許#uploader的兄弟姐妹。

此外,請不要使用按鈕元素爲您的上傳「按鈕」。 IE中的事件委託問題將阻止輸入子(由Fine Uploader添加)接收點擊事件。

+0

+1表示「不要使用

1

我正在使用fineuploader 3.3,但我相信這是同樣的問題。實際上,它與你的代碼無關,但是在fineuploader代碼中有一個小錯誤 - 它只是不可見:),它可以被點擊(在「File」標籤下面)

定位文件util。 js和線

/** 
* Sets styles for an element. 
* Fixes opacity in IE6-8. 
*/ 
css: function(styles) { 
    if (styles.opacity !== null){ 
     if (typeof element.style.opacity !== 'string' && typeof(element.filters) !== 'undefined'){ 

,並切換到

/** 
* Sets styles for an element. 
* Fixes opacity in IE6-8. 
*/ 
css: function(styles) { 
    if ((styles.opacity !== null) && (typeof styles.opacity !== 'undefined')) { 
     if (typeof element.style.opacity !== 'string' && typeof(element.filters) !== 'undefined'){ 

(僅第一IF是變化的代碼剩下的就是在這裏發現很容易)

在你fineuploader-3.1.js,這是有點哈rder發現,它在文件開始的某個地方,只是仔細改變IF代碼。