У меня есть некоторый код JavaScript, который динамически внедряет iframe в заданную HTML-страницу.К сожалению, в Firefox и только в Firefox, хотя iframe время от времени создается, соответствующий URL не загружается в него.
Я знаю, что он не был загружен, потому что соответствующий URL не появляется на вкладке Firebug Net, и когда я проверяю iframe, я не вижу там никакого ожидаемого HTML-кода (когда iframe включентот же домен, что и на предыдущей странице).Я не вижу ни ошибок JavaScript, ни сетевых ошибок.
Вот фрагмент кода, я проверил правильность всех соответствующих переменных:
var iframe = document.createElement("iframe");
iframe.width = options["w"];
iframe.height = options["h"];
iframe.scrolling = "no";
iframe.marginWidth = 0;
iframe.marginHeight = 0;
iframe.frameBorder = 0;
iframe.style.borderWidth = 0;
if (node.childNodes.length > 0)
node.insertBefore(iframe, node.childNodes[0]);
else
node.appendChild(iframe);
iframe.contentWindow.location = iframeSrc + "?" + querystring;
Вот пример URL, который установлендля iframe (проблема также воссоздается, когда URL-адрес указывает на внешний сервер, пришлось пропустить 'http://' в начале, иначе я не смог бы опубликовать вопрос):
127.0.0.1:8000/widget/iframe/index.html?style=slide-top-to-bottom&culture_code=en_us&c=26&sc=1324&title=Top%20News&caption=Top%20Stories&order=relevance&count=20&w=250&h=300×tamp=true&scrollbar=false&theme=ui-lightness&className=8815455464592103&referrer=http%3A%2F%2F127.0.0.1%3A8000%2Fwidget%2Fbuilder%2Findex.html
Проводим некоторые исследованияВ Интернете я обнаружил эту нефиксированную ошибку Firefox, которая, кажется, связана с этой проблемой: https://bugzilla.mozilla.org/show_bug.cgi?id=279048
После прочтения ошибки я попробовал несколько решений, ни одно из которых не решило проблему:
- Установка iframe.src вместо iframe.contentWindow.location
- Добавление случайного параметра в строку запроса
- Добавление символа '#' со случайным числом в конце URL
- Присвоение iframe случайного имени
У кого-нибудь есть обходной путь для этой раздражающей ошибки Firefox?Или проблема, которую я описываю, не связана с ошибкой и имеет другое решение?