Ситуация: по некоторым фильтрам (даты, тип игры и тд.) пользователю выводится список игр (ajax), по нажатию на какую-либо игру он хочет видеть таблицу результатов.
Вопрос - отобразить результаты этой игры в iframe либо перезагрузить страницу и отобразить выбранную игру? В результатах игры - достаточно большая таблица + canvas-ы (возможно будет SVG вместо canvas) - статистика в виде графиков.
плюсы фрейма:
-не будет перезагружаться вся страница;
минусы фрейма:
-придется повозиться с вычислением высоты - так как контент внутри фрейма динамический (tab-ы с разной высотой);
плюсы перезагрузки:
-прямая ссылка на игру с учетом фильтров поиска;
-нет лишних проблем с высотой;
-не нужно создавать отдельный layout (работаю в Zend-е);
минусы перезагрузки:
-частая перезагрузка страницы на этапе поиска нужной игры (если в 1 день было несколько игр с разными игроками);
Плюсы и минусы каждого из случаев возможно есть еще, но на вскидку те что написал. Какое ваше мнение? Сам больше склоняюсь к варианту с перезагрузкой страницы.
Подкину ещё один вариант.
$( "#game-results" ).load( "get-game-results.php" );
Подгрузка результатов ajax'ом, но не в iframe а в div (overflow:scroll, если нужно) на текущей странице. Должно быть меньше проблем с вычислением высот и прочим.
Если скрипт рисования в находится в get-game-results.php - он выполнится, да.
Ещё скрипт рисования можно вставить в callback функции load() типа вот так:
$( "#game-results" ).load( "get-game-results.php", function() {
//init and draw on canvas here
});