Если вы используете jQuery, вы можете использовать библиотеку, такую как jQuery BBQ: Back Button & amp; Query Library .
... jQuery BBQ предоставляет полный метод
blockquote>.deparam()
наряду с управлением состоянием хеш-хэшей и фрагментами / строками запроса и слиянием строк / запросов.Редактирование: добавление Deparam Пример:
var DeparamExample = function() { var params = $.deparam.querystring(); //nameofparam is the name of a param from url //code below will get param if ajax refresh with hash if (typeof params.nameofparam == 'undefined') { params = jQuery.deparam.fragment(window.location.href); } if (typeof params.nameofparam != 'undefined') { var paramValue = params.nameofparam.toString(); } };
Если вы хотите просто использовать обычный JavaScript, вы можете использовать ...
var getParamValue = (function() { var params; var resetParams = function() { var query = window.location.search; var regex = /[?&;](.+?)=([^&;]+)/g; var match; params = {}; if (query) { while (match = regex.exec(query)) { params[match[1]] = decodeURIComponent(match[2]); } } }; window.addEventListener && window.addEventListener('popstate', resetParams); resetParams(); return function(param) { return params.hasOwnProperty(param) ? params[param] : null; } })();
Из-за нового API истории HTML и, в частности,
history.pushState()
иhistory.replaceState()
, URL-адрес может быть изменен, что приведет к аннулированию кеша параметров и их значений.Эта версия будет обновлять свой внутренний кеш параметров при каждом изменении истории.
Когда Вы видите '... Еще 113', который означает, что остающиеся строки 'вызванный' исключением идентичны остающимся строкам от той точки на родительского исключения.
, Например, Вы будете иметь
com.something.XyzException
at ...
at ...
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:242)
at ... <the other 113 lines are here>...
Caused by: <the above>.
, Эти два отслеживания стека 'встречаются' в AbstractBatcher.executeBatch, строка 242, и затем с тех пор восходящая трассировка вызовов совпадает с переносящимся исключением.
Apache Commons Lang предоставляет хороший util метод ExceptionUtils.printRootCauseStackTrace () , который печатает вложенный stacktrace 'вверх тормашками'. Результат намного более интуитивен.
, Если Вы видите результат рядом с оригиналом из printStackTrace () метод, будет ясно, куда 'еще 113' строк пошли.