Тип ввода = альтернатива файла для использования в расширении Google Chrome - PullRequest
0 голосов
/ 21 декабря 2011

Я разрабатываю расширение Google Chrome, где пользователь загружает файл вручную. Я создал тип файла ввода в popup.html и попытался прочитать файл. Но это не работает, так как это ошибка в Google Chrome ..

Пожалуйста, кто-нибудь предложит мне, если есть какая-то другая работа. Я нашел это, но я не могу продолжить, потому что я не мог понять их терминологию.

Спасибо

1 Ответ

1 голос
/ 22 декабря 2011

Я не смог найти обходного пути для решения этой проблемы и решил ее по-другому .. Вот я публикую код, который я использовал

Первый на всплывающей странице:

 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;
    });
}
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...