Может ли быть так, что <iframe>
должны быть видны (или, по крайней мере, иметь не скрытых родителей), прежде чем они узнают, что делать с собой?Ранее я видел странные проблемы с размером и расположением невидимых вкладок, возможно, вы видите похожую проблему.
Вы можете попробовать добавить <iframe>
s после , показывающего вкладку.Примерно так:
$('#tabs').tabs();
$('#tabs a:not(:first)').one('click', function() {
var tab = this.href.replace(/.*#/, '#');
setTimeout(function() {
// Add the appropriate <iframe> here.
$(tab).append('<iframe src="..."></iframe>');
}, 0);
});
Предполагается, что первый уже будет открыт (отсюда :not(:first)
).Использование one
для привязки обработчика кликов приведет к отмене привязки обработчика после его первой активации, так что вам не нужно будет без необходимости повторно добавлять <iframe>
s.Трюк с «тайм-аутом 0» - это просто способ отложить что-то до тех пор, пока после браузер не получит контроль, и это должно добавить <iframe>
после , когда отображается панель.
Быстрая демонстрация техники: http://jsfiddle.net/ambiguous/FMBcE/