2014-03-04 5 views
5

Я пытаюсь проанализировать свой URL-адрес в документе document.ready(), чтобы получить идентификатор текущей страницы и динамически заполнить страницу результатами из вызова AJAX. Проблема, с которой я сталкиваюсь, связана с тем, что я думаю, что «document.URL» ссылается на предыдущую страницу до тех пор, пока «document.ready()» не будет полностью выполнен.Получить текущий URL-адрес от document.ready

Как мне обойти это? Я исследовал document.load() и автоматически обновлял страницу один раз, но я не могу заставить это работать. Я работаю над этим со вчерашнего дня.

Вот мой код:

$(document).ready(function(){ 
    var id = document.URL.substring(document.URL.lastIndexOf('?')+4); 
    if(!loadObject.executed) { 
     loadObject(id); 
     loadObject.executed = true; 
    } else { 
    $('#page-full').on('pagecreate', loadObject(id)); 
    } 
}); 
+2

Пробовал использовать небольшой 'setTimeout'? И BTW, вместо этого, вы можете более подробно рассмотреть window.popstate и pushstate для вашей динамической манипуляции AJAX History. –

+1

location.search может быть альтернативой – mplungjan

+0

. Это не должно быть ограничением с 'document.URL', как бы это было известно последней страницы? Вы уверены, что URL-адрес неверен? –

ответ

4

Попробуйте использовать document.location.href вместо document.URL.

Надеюсь, это поможет.

+0

Я сделал это и все еще произвел ту же ошибку. Самое смешное, что у меня был друг, который попробовал его на своем компьютере, и он не смог создать такую ​​же ошибку. В итоге я вызвал функцию в setTimeout (loadObject, 0), и она ушла. Спасибо за вашу помощь. – mmelear

Смежные вопросы