Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Проблема с window.location (https://javascript.ru/forum/jquery/35080-problema-s-window-location.html)

olexand777 30.01.2013 02:29

Проблема с window.location
 
function getThingsForLink(link) {

    link = link.substr(LENGTH_HOST); //determine link in the root folder
    var way = "a[href='" + link + "']";
    way.toString;
    var js = $(way).attr("js");//download js for this link
    if (js !== undefined) {
        $.ajax({
            type: "GET",
            url: js,
            dataType: "script"
        });
    }

    alert(js);

    var title = $("a[href='" + link + "']").attr("name");//download title for this link

    if (title !== undefined) {
        $("head title").text(MAIN_TITLE + " - " + title);
    }

}


Вопрос почему не работает функция когда я передаю аргументом в функцию window.location.href? Проблема наверное в "a[href='" + link + "']", но если передаю другой аргумент все работает.
Пробовал к применить к window.location.href метод toString() не помогло...

Deff 30.01.2013 02:46

link = link.substr(LENGTH_HOST); лишнее для window.location.href

olexand777 30.01.2013 03:14

$("div.front").delegate("div.start-menu a", "click", function () {
        var link = this.href;
        history.pushState(null, null, link);
        $("div.main").load(link + " div.main_menu"); 
        getThingsForLink(link);
        return false;
    });

Смотрите если от сюда передаю все норм работает в остальных случаях что пробовал нет.
Что тут за прикол не могу понять?

Deff 30.01.2013 03:28

var link = document.URL
        $("div.main").load(link); 
        getThingsForLink(link);

olexand777 30.01.2013 03:29

Только что заметил, что когда я функцию при загрузке страницы вызываю она ничего не находит, а когда кликаю по силке, то все работает. Значить она не находит нужный елемент, потому что еще страничка еще не отрисовалась. Значить мне нужно вызывать когда уже вся страничка готова если ли какая нубидь функция, что поможет мне сделать это.
$(document).ready() не подходит.

olexand777 30.01.2013 03:48

Все сделал)
Метод $(window).load()


Часовой пояс GMT +3, время: 14:32.