У меня есть следующий код, и он работает (как обычно) во всем, кроме IE. Это дает мне неожиданный вызов доступа к методу или свойству в Jquery, и я не знаю, как его отладить. Я использовал панель инструментов разработчика IE, которая бесполезна для этой ошибки и просто дает мне строку № 12 (внутри скрипта jquery).
Любая помощь очень ценится:
<script type="text/javascript">
$(document).ready(function () {
$.history.init(pageload);
$('a[href=' + window.location.hash + ']').addClass('selected');
$('a[rel=ajax]').click(function () {
var hash = this.href;
hash = hash.replace(/^.*#/, '');
$.history.load(hash);
$('a[rel=ajax]').removeClass('selected');
$(this).addClass('selected');
$('.loading').show();
getPage();
return false;
});
});
function pageload(hash) {
if (hash) getPage();
}
function getPage() {
hash = document.location.hash;
hash = hash.replace(/^.*#/, '');
var data = 'page=' + encodeURIComponent(hash);
$.ajax({
url: "index.php",
type: "POST",
data: data,
cache: false,
success: function (html) {
$('.loading').hide();
$('tbody').html(html);
}
});
}
</script>
Вот плагин истории: http://plugins.jquery.com/project/history
А вот демо, за которым я следовал:
http://plugins.jquery.com/project/history
Все еще изменяя window.location обратно на document.location, похоже, ничего не изменилось
Я заблудился на этом. Когда я меняю тег, к которому я обращаюсь, он публикует сообщения, поэтому он работает, но в IE дизайн не работает, и следующие ссылки, на которые я нажимаю, не публикуются. Действительно странно !! Прекрасно работает в Firefox, Opera и др.