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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добавить в Избранное, приводит к перезагрузке страницы в Opera 
V
    Опции темы
Wolf1994
Дата 13.2.2008, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

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



Код

function fav_add()
{
 var url="http://"+document.domain;
 var title=document.title;
 if(window.sidebar)
  window.sidebar.addPanel(title,url,"");
 else if(window.opera&&window.print)
 {
  var mbm=document.createElement('A');
  mbm.setAttribute('rel','sidebar');
  mbm.setAttribute('href',url);
  mbm.setAttribute('title',title);
  mbm.click();
 }
 else if(document.all)
  window.external.AddFavorite(url,title);
}

При вызове скрипта страница обновляется. Что неверно в этом коде? Opera: 9.25, система: Windows XP SP2.
PM MAIL WWW   Вверх
Ghirik
Дата 13.2.2008, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



Может лучше такую функцию применить?

Код

function bookmark() {
    if (window.sidebar) {
        window.sidebar.addPanel(document.title, window.location,"");
    } else if (document.all) {
        window.external.AddFavorite(window.location, document.title);
    }
}



--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
Wolf1994
Дата 13.2.2008, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

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



Ghirik, попробовал. FF & IE методы в Opera не работают.
PM MAIL WWW   Вверх
Ghirik
Дата 13.2.2008, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



Ага... Есть такое.... А я по привычке в FF и IE проверил, а до Оперы не добрался... Не я писал то... где то выдрал... Сейчас, попробую разобраться.


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
KuZyagroup
Дата 13.2.2008, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


magento solution
**


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

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



подозреваю что проблема в click
например вот этот простенький код вызовет ошибку
Код

<a id="iA" rel="sidebar" href="trulala">to bookmark</a>
<script>
(function doit(){
    document.getElementById('iA').click();
})()
</script>

ошибку click is not a function
PM MAIL   Вверх
Wolf1994
Дата 13.2.2008, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

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



KuZyagroup, в Opera эта функция ошибки не вызывает, но и не работает. Пример кода приведённый мной я встречал на нексольких сайтах, как рабочий для Opera 7+. Также, насколько я помню, он работал в более ранних версиях этого браузера.
PM MAIL WWW   Вверх
KuZyagroup
Дата 13.2.2008, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


magento solution
**


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

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



В таком случае можно предположить что в опере решили не этично делать носильное предложение добавить страницу в закладку(особенно с учётом того что его можно зациклить;) и этим положить браузер), а редирект и без клика делается.
С другой стороны в DOM Snapshot чётко видно что у оперы есть Click для A. Тогда не понятно почему мой код не работает

Это сообщение отредактировал(а) KuZyagroup - 13.2.2008, 13:18
PM MAIL   Вверх
Wolf1994
Дата 13.2.2008, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

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



А можно ли сгенерировать события нажатия на клавиши: "Ctrl+D"?
PM MAIL WWW   Вверх
Ghirik
Дата 18.2.2008, 09:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



Вот нашел сайт где работает добавление в избранное и в Опере. Хот и с ошибками, но окно добавления выскакивает.

Ни как не могу выдернуть саму функцию, в атрибуте onclick указано window.external.AddFavorite (top.location.href,top.document.title); Но эта штука не работает... Видимо где то имеется переназначение.

Может кто разберется?




--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
ksnk
Дата 18.2.2008, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


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

Репутация: 84
Всего: 386



Дык!
Код

<a href="#gohere"  rel="sidebar" name="gohere" >aaaaaaaaa</a>



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
DE20
Дата 18.2.2008, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 9.2.2008

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



Ghirik, 
rel="sidebar" необходим

<a href="#" onclick="window.external.AddFavorite (top.location.href,top.document.title);" rel="sidebar"  > Добавить в избранное</a>
PM MAIL   Вверх
Wolf1994
Дата 18.2.2008, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

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



Всем спасибо. Вопрос решён.
PM MAIL WWW   Вверх
Ghirik
Дата 18.2.2008, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



Да, работает везде... Но Опера находит ошибку:

Цитата

JavaScript - ....
Event thread: click
Error:
name: TypeError
message: Statement on line 1: Could not convert undefined or null to object
Backtrace:
  Line 1 of  script 
    window.external.AddFavorite(top.location.href, top.document.title);
return false;
  At unknown location
    [statement source code not available]


В чем прикол?

Это сообщение отредактировал(а) Ghirik - 18.2.2008, 13:12


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
ksnk
Дата 18.2.2008, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


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

Репутация: 84
Всего: 386



Ghirik, 
Код

<a href="#" onclick="window.external && window.external.AddFavorite (top.location.href,top.document.title);" rel="sidebar"  > Добавить в избранное</a>

вот так не будет ошибки в Опере


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Ghirik
Дата 18.2.2008, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



ksnk, спасибо.

Ну, блин!... задолбали браузеры. smile 


--------------------
Отдадим всё клиенту, пускай его машина мучается...

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


 




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


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

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