Я не смог найти обходного пути для решения этой проблемы и решил ее по-другому .. Вот я публикую код, который я использовал
Первый на всплывающей странице:
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;
});
}
}