Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Перейти по ссылке


Автор: miki54 7.5.2010, 12:43
есть ссылка 

Код

<a style="cursor: pointer" href="rules.php" rel="shadowbox;height=270;width=700">правила поиска</a>


щелкнишь и открывается файл rules.php  во всплывающем окошке. Но мне нужно чтобы оно появлялось без щелчка по ссылке, при загрузке странице.

мне бы помогло 

Код

document.location.href = 'rules.php';


но мне нужно передать как то атрибут rel.
Это можно както сделать?

Автор: bars80080 7.5.2010, 15:15
ну, всплывающее окошко традиционно делается через window.open();
а повесть всплытие на загрузку не сложно:


Код

window.onload = function(){ qw(); };

function qw() {
    var win = window.open('win1', '', 'ht=270;width=700');
}

Автор: SelenIT 8.5.2010, 04:32
bars80080,  судя по
Цитата(miki54 @  7.5.2010,  12:43 Найти цитируемый пост)
rel="shadowbox;

там не настоящее окно, а его имитация всплывающим дивом (типа лайтбокса). Что правильно, т.к. настоящие без спросу всплывающие попапы бесят юзеров и по умолчанию молча блокируются браузерами.

Я бы попробовал "в лоб" присвоить ссылке id, а на window.onload повесить document.getElementById(id_ссылки).click(). Если не сработает - придется ковырять этот шэдоубокс...

Автор: Amphiluke 8.5.2010, 08:06
Цитата(SelenIT @  8.5.2010,  08:32 Найти цитируемый пост)
Если не сработает - придется ковырять этот шэдоубокс...

Не обязательно.  smile  Можно кликнуть кроссбраузерно (или почти?).
Код

window.onload = function() {
    var sl = document.getElementById("shadow_link_id")
    if (document.createEvent) {
        var evt = document.createEvent("MouseEvents");
        evt.initMouseEvent("click", true, true, window,
            0, 0, 0, 0, 0, false, false, false, false, 0, null);
        sl.dispatchEvent(evt);
    } else {
        var evt = document.createEventObject();
        sl.fireEvent("onclick", evt);
    }
}


P.S. Хотя, наверное, есть и более культурные способы сделать то же самое. В особенности если пошариться по http://shadowbox-js.com/usage.html#advanced... user posted image

Автор: miki54 11.5.2010, 21:17
Цитата

ну, всплывающее окошко традиционно делается через window.open();


Рад бы в рай, да закащик не пускает. Ему подавай красивые окошки, стандартными не обойтись.




Цитата

Я бы попробовал "в лоб" присвоить ссылке id, а на window.onload повесить document.getElementById(id_ссылки).click(). Если не сработает - придется ковырять этот шэдоубокс...


Ну да этого, я и сам додумался  smile . Получается не всплывающее окошко, а открывается новая страничка.




Цитата

Не обязательно.    Можно кликнуть кроссбраузерно (или почти?).Код

window.onload = function() {
    var sl = document.getElementById("shadow_link_id")
    if (document.createEvent) {
        var evt = document.createEvent("MouseEvents");
        evt.initMouseEvent("click", true, true, window,
            0, 0, 0, 0, 0, false, false, false, false, 0, null);
        sl.dispatchEvent(evt);
    } else {
        var evt = document.createEventObject();
        sl.fireEvent("onclick", evt);
    }
}



P.S. Хотя, наверное, есть и более культурные способы сделать то же самое. В особенности если пошариться по оф. сайту... 



А вот тебя Amphiluke я ненавижу. Из за таких как ты я понимаю что есть люди и поумней меня, и до них мне расти и расти. 
Твой скриптик похоже работает. Ну, типа спасибо   smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)