2011-12-21 53 views
0

我正在開發一個Google Chrome瀏覽器擴展,其中用戶手動上傳文件。我在popup.html中創建了一個文件類型輸入,並嘗試讀取該文件。但是,這是行不通的,因爲這是在谷歌鉻的錯誤..輸入類型=在Chrome瀏覽器擴展中使用的備選文件

請有人建議我,如果有任何其他的工作。我found這個,但我無法繼續,因爲我無法理解他們的術語。

感謝

+0

提供更多的細節。什麼不工作? – 2011-12-21 17:17:19

+0

@BorisSmus http://code.google.com/p/chromium/issues/detail?id=98920請看看這個......這就是問題 – Exception 2011-12-21 17:23:08

+0

我沒有很好的解決方法。從選項頁面提示文件? – 2011-12-21 17:29:17

回答

1

我找不到任何解決辦法來解決這個問題並解決它在另一個way..Here我張貼這是我在彈出的頁面中使用

首先代碼:

chrome.tabs.getSelected(null, function(tab) { 
     chrome.tabs.sendRequest(tab.id, { 
       'action': 'inject' 
     }); 
}); 

在內容腳本:

chrome.extension.onRequest.addListener(function ListeningMethod(request, sender,callback) 
{ 
switch(request.action) 
{ 
    case "inject": 
      if($('body').find('#TesterItems').size() < 1) 
      { 
       $('body').prepend("<div id='TesterItems'><center><input type='file' id='xfilex'></center></div>"); 
      } 
      else 
      { 
       $('#TesterItems').html("<center><input type='file' id='xfilex'></center>"); 
       $('#TesterItems').slideToggle('slow'); 
      } 
    break; 

} 
}); 
$('#xfilex').live('change',function() 
{ 
var file = document.getElementById('xfilex').files[0]; 
if(file) 
{ 
    var reader; 
    reader = new FileReader(); 
    reader.readAsText(file, "UTF-8"); 
    reader.onload = loaded; 
} 
}); 

function loaded(evt) 
{ 
var fileString = evt.target.result; 
var str = fileString; 
if(str.length > 0) 
{ 
    chrome.extension.sendRequest({method: "passThisXML", key: str}, function(response) { 
     $('#TesterItems').html('<center><span style="padding:3px">Successfully loaded XML.</span></center>'); 
     $('#TesterItems').slideToggle('slow'); 
     var Dat = response.data; 
    }); 
} 
} 
相關問題