Я создаю список ссылок в Javascript, который должен открываться в shadowbox.Первоначально при любой загрузке страницы (например, Ctrl-F5) ссылка открывается в окне, а не в shadowbox.Если мне удастся как-нибудь заставить его открыться в shadowbox, благодаря удаче или случайной случайности, он будет работать до тех пор, пока страница снова не будет перезагружена.
Вот разметка на странице:
<div id="portAgreementList">
<ul id="blAgreements"></ul>
</div>
Вот javascript, который делает ссылки в blAgreements:
function (data, status)
{
if (status == 'success')
{
if (data == '')
{
alert('URL returned no data.\r\n' +
'URL: ' + url);
return;
}
var jsonObj = StringToJSON(data); // StringToJSON function defined in /js/utilities.js
if (!jsonObj) { return; }
var items = '';
if ( jsonObj.items.length > 0 ) {
for (var xx = 0; xx < jsonObj.items.length; xx++) {
items += '<li><a rel="shadowbox;width=750;height=450;" href="' + jsonObj.items[xx].Url +'">' +
jsonObj.items[xx].Text +'</a></li>';
}
}
else {
items = '<li>You have no port agreements on file for this company.</li>';
}
$('#blAgreements').html(items);
Shadowbox.init();
}
}
Я звоню Shadowbox.init ();после того, как я добавил создание элементов списка, и это иногда работает.Я хотел бы понять, почему он несовместим и как сделать его более надежным.
Обновление № 1: Похоже, это может быть состояние гонки.Если я загружу страницу, по крайней мере, в IE, и подожду, прежде чем щелкнуть по ней, со временем все заработает.С IE8 мне нужно подождать около 3 секунд.FF, похоже, не следует этому поведению.
Обновление № 2: Если в FF я нажимаю на ссылку после загрузки страницы, она открывает URL-адрес, как и любая другая веб-страница.Нажмите кнопку «Назад» и снова щелкните ссылку, и URL-адрес откроется в теневом ящике.