Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> window.close() - проблемы в разных броузерах 
:(
    Опции темы
Гриша
  Дата 4.1.2006, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НУС(незнаю|узнаю|создаю)
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 12.6.2005
Где: Земля, Москва, Хр ущевка

Репутация: нет
Всего: 1



Здравствуйте.

Делаю такую ссылку: <a href="vingrad.ru" onclick="window.close" target="_blank">Ссылка</a>
Что я ожидал от этой ссылки: то что, при нажатии на нее откроектся новое окно, с указанным url, а старое закроется. В Explorer все так и работает. Но в дремучем Opera (2005 год) просто зарывается окно, я это броузер терпеть немогу, с ним всегда геморой, он работатет на своей волне.

Подскажите возможное решени этой проблемы. // Netscape работает как opera, только что проверил. Что я неверно сделал код?

Это сообщение отредактировал(а) Гриша - 4.1.2006, 21:46
--------------------
Если долго мучиться, что-нибудь получитЬся.
PM MAIL WWW   Вверх
Innuendo
Дата 4.1.2006, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 24.12.2005
Где: Молдова

Репутация: 2
Всего: 6



у мен в эксплорере твой код не работает....
ну и в Мозилле тоже..
в ИЕ работает при таком: onclick="window.close()", но выходит табличка с запросом на закрытии окна...
а в Мозилле нету и такого... есть ещё какие-то методы закрытия.. надо искать...


--------------------
=)
PM MAIL ICQ Jabber   Вверх
Гриша
Дата 5.1.2006, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НУС(незнаю|узнаю|создаю)
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 12.6.2005
Где: Земля, Москва, Хр ущевка

Репутация: нет
Всего: 1



Innuendo, спасибо за ответ.

Сначала при помощи javascript я открываю новое окно, и как раз при помощи это кода
<a href="vingrad.ru" onclick="window.close" target="_blank">Ссылка</a> я закрываю такое окно. Такие окна закрываются без предупреждения.
Эта функция стандартная. Netscape (Mozilla) и Opera, окна то закрываются, но вот ссылка не открывается.
Ведь я хочу чтобы открылось новое окно, а строе закрылось.
Как же это сделать?
--------------------
Если долго мучиться, что-нибудь получитЬся.
PM MAIL WWW   Вверх
Innuendo
Дата 5.1.2006, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 24.12.2005
Где: Молдова

Репутация: 2
Всего: 6



странно, запустил твой код:
окна нигде не закрываются.... и ссылка открывается


--------------------
=)
PM MAIL ICQ Jabber   Вверх
Illuminaty
Дата 5.1.2006, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


/*Антон Захаров*/
***


Профиль
Группа: Комодератор
Сообщений: 1238
Регистрация: 19.3.2005
Где: Россия, Казань

Репутация: 4
Всего: 56



Что то я видимо совсем после праздников опух....
Не понимаю, если тебе надо закрыть старую страницу (на которой находится ссылка) и открыть новую, то зачем писать такой код? Разве при активации ссылки тоже самое не происходит? Т.е. новая страница перекрывает старую... Не понимаю...
PM MAIL ICQ   Вверх
Innuendo
Дата 5.1.2006, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 24.12.2005
Где: Молдова

Репутация: 2
Всего: 6



точно..в данном случае открывается новое окно, и он хочет закрыть старое...
а если убрать target="_blank", то ссылка просто откроется в этом окне... что ещё надо? smile


--------------------
=)
PM MAIL ICQ Jabber   Вверх
Гриша
Дата 5.1.2006, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НУС(незнаю|узнаю|создаю)
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 12.6.2005
Где: Земля, Москва, Хр ущевка

Репутация: нет
Всего: 1



Спасибо всем за ответы.
Во первых код я пишу немного неправильно, забыл скобки:
<a href="http://vingrad.ru" onclick="window.close()" target="_blank">Ссылка</a>

Во вторых я открываю окно при помощи javascript размеров 400x500, с параметрами: полоса прокрутки и изменение размера.
При нажатии на указанную ссылку я хочу чтобы октрылось новое окно (уже обычное окно), в котором буде октрыта страница сайта, допустим vingrad.ru, ну не буду же я открывать ее в окне где есть только полоса прокрутки и размер окна 400x500 пикселей.
И я также хочу сделать так, чтобы при открытии нового окна старое окно размером 400x500 закрывалось.

Вы теперь поняли то что я хочу сделать?

Получается, что описанный выше код закрывает окно, но не отрывает новове во всех броузерах кроме IE.

Это сообщение отредактировал(а) Гриша - 5.1.2006, 15:49
--------------------
Если долго мучиться, что-нибудь получитЬся.
PM MAIL WWW   Вверх
Illuminaty
Дата 5.1.2006, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


/*Антон Захаров*/
***


Профиль
Группа: Комодератор
Сообщений: 1238
Регистрация: 19.3.2005
Где: Россия, Казань

Репутация: 4
Всего: 56



Попробуй так:
Код

<script type="text/javascript" language="javascript">
function CloseWindow (path) {
    window.close();
    window.open(path, "w", "YOUR_PARAMETRS");
}
</script>
<a href="javascript:CloseWindow('http://vingrad.ru')">чего от меня хотят????</a>
Насколько я понял из теста, в Opere страница открывается в новой вкладке того же окна, которое ты закрываешь
PM MAIL ICQ   Вверх
Гриша
Дата 5.1.2006, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НУС(незнаю|узнаю|создаю)
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 12.6.2005
Где: Земля, Москва, Хр ущевка

Репутация: нет
Всего: 1



Illuminaty, спасибо за код. Сейчас попробую.
Только в Opera проблема ткакая, если в новом окне, октрытом при помощи javascript, нажать на такую ссылку <a href="http://vingrad.ru" onclick="window.close()" target="_blank">Ссылка</a>, то окно просто закроется.

А если нажать на ссылку <a href="http://vingrad.ru" target="_blank">Ссылка</a>, то откроется новое окно нормально, а старое останется - так и должно быть. Так вот, я добавил window.close(), чтобы открывалось новое окно, а старое закрывалось (так работает только в IE)

И еще мне нужно чтобы ссылка была прямая, т.е. <a href = "htt://vingrad.ru" .... >Ссылка</a>,
я щас попробую что-то сделать в с вашим кодом. А вообще я в javascript знаю какие-то основы и все, никак немогу разобраться с этим языком, Ssi, Perl, PHP, Css - напного проще давались, наверное книги такие были.

Это сообщение отредактировал(а) Гриша - 5.1.2006, 18:30
--------------------
Если долго мучиться, что-нибудь получитЬся.
PM MAIL WWW   Вверх
Гриша
Дата 5.1.2006, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НУС(незнаю|узнаю|создаю)
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 12.6.2005
Где: Земля, Москва, Хр ущевка

Репутация: нет
Всего: 1



Illuminaty, в OPERA и IE ваш код работате, а вот в Netscape, получается так, что он как бы открывается в этом же окне, только на весь экран (может быть новое окно такое - безразницы), и высота у окна больше экрана, я даже ниц не могу увидеть.
ЧТо-то не то.

Вот я так плохо знаю jvascript, что не могу додуматься написать код так, чтобы броузер понял, что после открытия нового окна, старое нужно закрыть, или закрыть это окно и открыть новое.
--------------------
Если долго мучиться, что-нибудь получитЬся.
PM MAIL WWW   Вверх
Гриша
Дата 5.1.2006, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НУС(незнаю|узнаю|создаю)
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 12.6.2005
Где: Земля, Москва, Хр ущевка

Репутация: нет
Всего: 1



Ну вот я в итоге сделал так: <a href="javascript:window.close();window.open('http://vingrad.ru/');">Ссылка</a>, пратически тоже самое, что и у Illuminaty, данный вариант кода работает во всех 3 броузерах. Но мне нужна прямая ссылка.

Я попытался сделать эту ссылку примерно так как описано в другой моей теме: http://forum.vingrad.ru/index.php?showtopic=76595 - не получилось. И кстати мне несовсем понятно почему, ведь там как раз я и сделал код открытия прямой ссылки в новом окне, а пытаясь соединить с кодом в данной теме, получается что ссылка как бы октрывается в текущем окне и потом, закрывается (по условию кода уже).

==============================
Я вот такой вариантик придумал хитрый:
<a href="http://vingrad.ru/" onclick="window.close();window.open('http://vingrad.ru/');">Ссылка</a>
- как видите, здесь на самом деле неважно, что мы укажем в href="...", получается, что данный скрипт окрывает ссылку по указанному адресу href="http://vingrad.ru/" в текущем окне, потом сразу же закрывает это окно window.close() и открывает новое окно по указанному адресу window.open('http://vingrad.ru/');

И конечно я сделал так, что если пользователь попадает на страницу, которая открываетя уменя в новом окне, не по ссылке с моего сата, а например с поисковика, то будет отображаться такая ссылка <a href="http://vingrad.ru/">Ссылка</a>

============================
Вот хотелось бы все таки сделать данный код: <a href="http://vingrad.ru/" onclick="window.close();window.open('http://vingrad.ru/');">Ссылка</a> чтобы он окрывал правильно именно ту страницу которая указана в href=""

Если есть соображения, то напишите пожалуйста.

Это сообщение отредактировал(а) Гриша - 5.1.2006, 20:17
--------------------
Если долго мучиться, что-нибудь получитЬся.
PM MAIL WWW   Вверх
Sardar
Дата 7.1.2006, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(Гриша @ 5.1.2006, 19:14 Найти цитируемый пост)

- как видите, здесь на самом деле неважно, что мы укажем в href="...", получается, что данный скрипт окрывает ссылку по указанному адресу href="http://vingrad.ru/" в текущем окне, потом сразу же закрывает это окно window.close() и открывает новое окно по указанному адресу window.open('http://vingrad.ru/');

Нет, переход по href срабатывает позже чем отрабатывает onclick.
Цитата(Гриша @ 5.1.2006, 19:14 Найти цитируемый пост)

чтобы он окрывал правильно именно ту страницу которая указана в href=""

Можно так:
Код
<a href="http://vingrad.ru/" target="_blank" onclick="window.close(); window.open(this.href); return false;">Ссылка</a>



--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Гриша
Дата 8.1.2006, 00:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НУС(незнаю|узнаю|создаю)
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 12.6.2005
Где: Земля, Москва, Хр ущевка

Репутация: нет
Всего: 1



Sardar, огромное спасибо вам за помощь. Это супер вариант. Я увидел, что даже если окно октрывалось без помощи javascript, то при закрытии такого окна IE не просит разрешение на его закрытие, это значительно упрощает работу. А то при помощи php мне приходилось выводить сыылки в зависимости от того как окно открывалось.

А то, что в моем коде href="http://vingrad.ru/" срабатывает после onclick, я не совсем это понял, ведь оно же все равно закрывается при помощи window.close()

Еще раз спасибо вам за такой хороший код.
--------------------
Если долго мучиться, что-нибудь получитЬся.
PM MAIL WWW   Вверх
Sardar
Дата 8.1.2006, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(Гриша @ 7.1.2006, 23:40 Найти цитируемый пост)
рабатывает после onclick, я не совсем это понял

Функционально происходит именно то что ты хочешь smile
Если же отследить по шагам что на самом деле происходит, то увидим, что браузер заставляет сначала отработать onclick (что логично) и только потом перейти по ссылке. Таким образом мы можем остановить переход традиционным способом вернув false из обработчика события, что в моём примере и происходит.

Другими словами: если у пользователя включен JS, то ссылка откроеться в твоём новом окне с параметрами, иначе ссылка всё равно откроеться в новом окне (target="_blank"), а вот в каком окне это уже зависит от бразуера.

Цитата(Гриша @ 7.1.2006, 23:40 Найти цитируемый пост)
Еще раз спасибо вам за такой хороший код.

Это не код, это короткая строка кода smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Гриша
Дата 8.1.2006, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НУС(незнаю|узнаю|создаю)
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 12.6.2005
Где: Земля, Москва, Хр ущевка

Репутация: нет
Всего: 1



Sardar, спасибо за разъяснение. Тяжело мне как-то с javascriptom разабраться, вот никак он мне не дается.
Но у меня на сайте действительно очень многое зависит от javascript, без него не было бы той интерактивности, которая есть. Без javascript даже пришлось бы внести изменения в дизайн, а во всем мне помогли участники этого форума, ух даже незнаю чтобы я делал без этого форума.
--------------------
Если долго мучиться, что-нибудь получитЬся.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0620 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.