Я разрабатываю веб-страницу, используя технику скрытого фрейма для извлечения некоторых данных с сервера. Данные обновляются в реальном времени, и сервер уведомляет обозреватель при каждой модификации.Скрытый обратный вызов iframe chrome не срабатывает
Компонент работает как в IE, так и в Firefox, но в хроме функция обратного вызова, полученная сервером, не выполняется в клиентский браузер. Однако я вижу соединение, открытое в инструментах разработчика, и полученные данные через это соединение растут.
Я читал, что некоторые браузеры могут иметь проблемы с анализом и выполнением данных, полученных с сервера, но я не смог найти решение для этих случаев.
Возможно, мне нужно отправить http-заголовок в этот случай, но я даже не знаю, что искать.
EDIT: Пример кода Это функция, которую я использую для подключения к серверу. Он вызывается после знака в шаге. Знак реализован так же, как и шаг подключения.
function __sendConnectRequest()
{
document.getElementById(UID).setAttribute('value', __username);
document.getElementById(SID).setAttribute('value', __sessionKey);
document.getElementById(PID).setAttribute('value', __privateKey);
try
{
document.getElementById('connectFormId').submit();
}
catch (err)
{
alert("error connecting");
console.log("__sendConnectRequest: " + err.message);
}
}
var __connectResponseCallback = null;
function __setConnectResponseCallback(callback)
{
__connectResponseCallback = callback;
}
function __connectResponseHandler(statusCode)
{
if(__connectResponseCallback)
{
__connectResponseCallback(statusCode);
}
}
Вот как я создаю свои элементы DOM. Эти элементы добавляются в тело документа, а форма имеет некоторые входные строки.
function getNewIframe(name, id)
{
//KNOWN BUG IN IE while creating iframes
//http://webbugtrack.blogspot.com/2007/10/bug-235-createelement-is-broken-in-ie.html
var iframe;
try
{
iframe = document.createElement('<iframe name="' + name + '">');
}
catch (ex)
{
iframe = document.createElement('iframe');
iframe.name = name;
}
iframe.id = id;
iframe.style.display = 'none';
return iframe;
}
function getNewForm(name, id, target, action)
{
var form = document.createElement("form");
form.name = name;
form.id = id;
form.method = 'post';
form.target = target;
form.action = serverUrl+action;
form.style.display = 'none';
return form;
}
Можем ли мы видеть код? возможно даже jsFiddle, потому что это действительно непонятно – EaterOfCode