Не удается загрузить данные сервера только в FF и IE
Я не планирую, что вы отладите его, но, может быть, вы могли бы это увидеть через мгновение: я написал простую страницу, которая показывает "запущенные сообщения".
Однако это работает только для Chrome (не FF или IE). http://hydepark.apphb.com/display.aspx Я вижу, что это проблема на стороне сервера, но она не имеет смысла, так как зависит от браузера.
У тебя есть идея?
var msgsList = [{"Guid":"c281e6ec-acdc-4c35-80ee-12c9ba1ab95e","Author":"2","Content":"222","Email":"22","CreationDate":"\/Date(1321389457043)\/","Rating":0,"Path":"D:\\websites\\b1\\08c47\\4f839e3\\_PublishedWebsites\\TB.Site\\c281e6ec-acdc-4c35-80ee-12c9ba1ab95e.html"},{"Guid":"58aaa80d-f09e-439a-bec6-60b090f39c26","Author":"1","Content":"111","Email":"11","CreationDate":"\/Date(1321389451653)\/","Rating":0,"Path":"D:\\websites\\b1\\08c47\\4f839e3\\_PublishedWebsites\\TB.Site\\58aaa80d-f09e-439a-bec6-60b090f39c26.html"}];
var pagePath = window.location.pathname;
//parses the list
$(document).ready(function ()
{
parseList = function(pos,list)
{
if (pos < list.length)
{
var obj = list[pos];
TextArea1.value = obj.Content;
Author.value = obj.Author;
var newHeading = encodeURIComponent( window.location.href +"?id="+ obj.Guid );
var likeFrame = $('.fb-like iframe');
//var likeFrame = $('iframe.fb_ltr')[0];
var newHref = 'href=' + newHeading + '&layout=';
var newSrc = likeFrame.attr('src').replace(/href=.+&layout=/, newHref);
likeFrame.attr('src', newSrc);
setTimeout(function(){parseList(++pos,list);}, 5000);
}
else
{
//PageMethod('RefillMessages', [], AjaxSucceeded, AjaxFailed);
WebMethod('RefillMessages', [], AjaxSucceeded, AjaxFailed);
}
}
setTimeout(function(){parseList(0,msgsList);}, 2000);
//parseList(0,msgsList);
});
2 ответа
TextArea1.value = obj.Content;
Вы никогда не должны просто ссылаться на элемент по его идентификатору. Некоторые браузеры будут поддерживать это для старого старого>10 лет назад способа кодирования.
document.getElementById("TextArea1").value = obj.Content;
Если вы откроете Firebug на Firefox, вы увидите, что TextArea1
не определено
Похоже, что Chrome рассматривает его как глобальную переменную, а FF - нет.
Простой способ чтения форм - это получить его по id и прочитать поле с его именем, например:
var frm = document.getElementById('form1');
//then get it by frm.TextArea1.value