Я разрабатываю веб-приложение, где, должный замедлить доступ к базе данных, не все содержание на странице загружается сразу, а скорее динамично когда пользователь нажимает кнопку после дополнительного делания выбора.
Это хорошо работает. Однако после динамичной загрузки содержания, если я перешел к другой веб-странице, затем перешли назад, в Internet Explorer исчезнет загруженное содержание, т.е. страница вернется к первоначально полученной странице. В Firefox (и Opera также), однако, загруженное содержание все еще будет там, т.е. страница будет похожа на него, сделал, прежде чем я перешел далеко от него.
Поведение Firefox является желаемым поведением в моем случае, поскольку пользователь обычно перешел бы к подстраницам и возвращался бы к основной странице. Мой вопрос поэтому, есть ли какой-либо способ, которым я могу вынудить Internet Explorer показать это поведение или являюсь там какими-либо возможными обходными решениями для получения желаемого результата?
Посмотрите на набор _ error _ handler ()
и включите его в начало сценариев или в bootstrap, чтобы просто напечатать трассировку стека, когда E_WARNINGs произойдут.
function stacktrace_error_handler($errno,$message,$file,$line,$context)
{
if($errno === E_WARNING) {
debug_print_backtrace();
}
return false; // to execute the regular error handler
}
set_error_handler("stacktrace_error_handler");
Для улучшения контроля над различными типами, посмотрите на более явную версию, размещенную в других ответах.
-121--1888577-Когда вы запрашиваете предложение о том, как обращаться с исключениями...
Общепринятый способ их обработки отсутствует. В противном случае, вы ставите на то, что язык java неявно имел бы такое поведение.
Исключения существуют в двух формах:
На каждом уровне кода (метод или блок) код должен выбирать, что делать в случае любого исключения (за исключением неконтролируемых исключений, которые могут полностью исключить обработку). Это выбор ответственности, который варьируется, нет решения, действительного для всех случаев:
Язык java позволяет вам иметь определенные синтаксисы, облегчающие обработку исключений, например, улов конкретных исключений, следовавших за более общими...
Обычно вы учитываете исключения в своей архитектуре и принимаете некоторые конструктивные решения. Некоторые примеры (смешанные уникальными способами):
Вот мое обходное решение для IE. Он использует тот факт, что, даже если DOM сбрасывается при переходе от страницы к странице и обратно, значения полей ввода по-прежнему запоминаются.
Для каждого динамически загружаемого элемента у меня также есть скрытое поле ввода, где я «кэширую» загруженное значение. Затем у меня есть функция transferStartCache (), которая копирует значения из каждого скрытого поля ввода в соответствующий элемент.Эта функция выполняется при инициализации страницы, которая в случае IE находится при загрузке страницы И каждый раз при переходе обратно на страницу.
Этот метод, вероятно, можно использовать и для хранения значений переменных javascript.
Я нашел немного другой способ сделать это . Таким образом, даст вам местоположение различных системных папок и использует реальные слова вместо CLSID.
import win32com.client
objShell = win32com.client.Dispatch("WScript.Shell")
allUserDocs = objShell.SpecialFolders("AllUsersDesktop")
print allUserDocs
Другие доступные папки: AllusersDesktop, Allusersstartmenu, AllusersPrograms, Allusersstartup, Рабочий стол, Фавориты, Шрифты, МИДОЦМЕНТЫ, NETHOOD, Принт, Недавние, Отправка, SendMo, Startmenu, Startup & Templates
-121--3286769-Я не думаю, что есть метод, чтобы получить IE для эмуляции FF таким образом. Причина связана с довольно фундаментальными аспектами браузеров. FF использует механизм для его истории страницы, называемой «быстрым кэшированием DOM», которая (от моего ограниченного понимания) в основном означает, что, когда он ставит страницу в историю браузера, то она будет хранить текущую DOM (то текущее состояние страницы) в сериализованном Формат, что означает, что, когда страница перезагружается из истории, состояние сохраняется, а FF может сделать это гораздо быстрее, так как много работы уже сделано (разбор HTML в DOM и т. Д.). По сравнению, т. Е. Просто будет хранить HTML, полученное изначально, как это файл истории и перезагрузится его при навигации по истории.
От Наследование присоединенной таблицы :
В наследовании присоединенной таблицы каждый совместно использует данные из корневой таблицы. Кроме того, каждый подкласс определяет собственная таблица, добавляющая расширенную состояние. В следующем примере показаны два таблицы, ПРОЕКТ и L_PROJECT, а также как два класса, Проект и LargeProject:
...
Столбец дискриминатора определяет тип и, следовательно, объединенную таблицу для использования, поэтому в родительской таблице необходим столбец дискриминатора.
-121--4076939-Я обнаружил несколько другой способ его выполнения . Этот способ даст вам расположение различных системных папок и использует реальные слова вместо CLSID.
import win32com.client
objShell = win32com.client.Dispatch("WScript.Shell")
allUserDocs = objShell.SpecialFolders("AllUsersDesktop")
print allUserDocs
Другие доступные папки: AllUsersDesktop, AllUsersStartMenu, AllUsersPrograms, AllUsersStartup, Desktop, Favorites, Шрифты, MyDocuments, NetHood, PrintHood, Recent, SendTo, StartMenu, Startup & Templates
-121--3286769-Вот статья о сохранении состояния в переменных сеанса , которая может помочь