1 Востаннє редагувалося Matvik (04.06.2013 15:30:23)

Тема: Help! Дивна поведінка під час правого кліку на посилання

Фреймворк YII.
Суть проблеми наступна:
Є лінк на видалення певного айтема (наприклад, коментаря):

$imageDelete = CHtml::image('http://dicewisewiki.org/cm/newui/images/ix_ap_all/16x16/delete2.png','del');
echo CHtml::link($imageDelete,array('admin/deleteComment', 
                            'id'=>$comment->id),                          
                            array('onclick'=>'return confirm("Видалити коментар?")','alt'=>'del'));

Він формує стандартне посилання з адресою "admin/deletecomment/id/n", де n - айді комента, що має бути видалений.

Далі цим лінком викликається екшн видалення комента, в якому:

$model->delete();
$this->redirect(Yii::app()->request->urlReferrer);

Так ось, сам прикол: якщо просто натиснути на лінк, то все відбувається, як треба - вилазить віконечко з підтвердженням, тоді видаляється коментар, і сторінка перезавантажується.
Але, якщо просто натиснути правою кнопкою на лінк, то ніби не відбувається нічого, як би і мало бути, проте, після перезавантаження сторінки виявляється, що комент таки видалено, тобто екшн видалення таки був викликаний.

Як це так, і як цього можна позбутись? Дякую

UPD: Можливо я щось в цьому житті не розумію, але, переглянувши логи, зрозумів, що HEAD запит передається під час правого кліку по будь-якіому посиланню. Це що, нормальна така поведінка??

2 Востаннє редагувалося funivan (04.06.2013 15:36:41)

Re: Help! Дивна поведінка під час правого кліку на посилання

А у вас часом не гугл хром ?:)
Я думаю там логіка така. Якщо нажимаєте праву клавішу миші значить скоріш за все відкрити в новому вікні або відкрити в новій вкладці. І він от підгружає уже собі якісь дані ))

3

Re: Help! Дивна поведінка під час правого кліку на посилання

а до речі - таки покинув я хром черз занадто велике бажання вирішувати за мене.
тепер приручаю firefox

4 Востаннє редагувалося Matvik (04.06.2013 16:10:57)

Re: Help! Дивна поведінка під час правого кліку на посилання

Нєа, ніфіга не Хром, ФФ. Розумієте, якби воно по-нормальному працювало, з підтвердженням, то не було б страшно. А так, клікне хтось правою кнопкою, а воно і видалить, навіть не спитавшись. Це ж капєц. Таке враження, ніби я десь прорахувався, але де? Я ще новачок в сайтобудуванні, можливо якась банальність

5

Re: Help! Дивна поведінка під час правого кліку на посилання

З YII не працював, але ви маєте розуміти, що з боку клієнта виконується не той код, що ви навели. Будь ласка, наведіть код в HTML/JavaScript, щоб розібратися. Ну і схоже, що пан funivan правильно описав причину.

6 Востаннє редагувалося funivan (04.06.2013 16:48:12)

Re: Help! Дивна поведінка під час правого кліку на посилання

Ну і схоже, що пан funivan правильно описав причину.

Ніхріна - у нього ж не хром )))

Нєа, ніфіга не Хром, ФФ

Скоріш за все JavaScript у них хитрий. Якщо є онлайн сайт я б глянув і цокнув правою клавішею миші.
А так кидайте код ;)


Оновлено:
Я не люблю так писати код але це ж Уїї )))
Спробуйте так задати )

   array('onclick'=>'return confirm("Видалити коментар?")','alt'=>'del', 'oncontextmenu'=>'return false'));

7

Re: Help! Дивна поведінка під час правого кліку на посилання

Та ні, який JavaScript. То ж я роблю сайт)) На yii, онлайн нема поки, юзаю OpenServer. Я код кинув вище, але це всі лінки так себе ведуть

8

Re: Help! Дивна поведінка під час правого кліку на посилання

Ви ще не читали http://phpfaq.ru/na_tanke ? Особливо http://phpfaq.ru/na_tanke#achtung

9

Re: Help! Дивна поведінка під час правого кліку на посилання

Та ні, який JavaScript.

JavaScript ви теж чуток скинули але не факт що там десь ще є )
Ви можете відкрити дебаг панель і побачити скільки його завантажується =)
Спробували мій варіант?:)

10 Востаннє редагувалося Matvik (04.06.2013 17:09:25)

Re: Help! Дивна поведінка під час правого кліку на посилання

koala написав:

Ви ще не читали http://phpfaq.ru/na_tanke ? Особливо http://phpfaq.ru/na_tanke#achtung

А це до чого? Я ці штуки читав всі давно, і ніби знаю. Там нічого немає про відсилання запитів під час правого кліку)

Спробували мій варіант?:)

Ок, воно перестало відсилати запити, але і контекстне меню не відображається.
Це виходить костиль, все ж, а я б хотів знати причину такої поведінки.
Та і в будь-якому випадку, при правому кліку на всі звичайні посилання посилається запит типу

vulyk.loc: 127.0.0.1 [04/Jun/2013:18:00:57 +0300] "HEAD /admin/calendar?id=18 HTTP/1.1" "http://vulyk.loc/admin/calendar" 200 364 "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0" "http_x_forwarded_for"

Це ж тупо якось, мені здається, такого не має бути, та і сервер грузитись буде даремно
UPD Хм.. А в хромі немає такого.

11

Re: Help! Дивна поведінка під час правого кліку на посилання

перевірте додатки які встановлені у фаєрфоксі ;)

12

Re: Help! Дивна поведінка під час правого кліку на посилання

можливо юзаєте якийсь віджет? грід вю наприклад?

13 Востаннє редагувалося Matvik (04.06.2013 23:52:55)

Re: Help! Дивна поведінка під час правого кліку на посилання

Гріб в"ю юзаю, проте ці лінки не мають відношення до нього.
А додатки - то який додаток може таке робити? Я шото не дуже навіть уявляю собі

UPD: Таки виявилось, що це так впливає додаток
TS Magic Player.
Яким макаром він до правого кліку по ссилках - чорт його знає.
Дивина.
Але насправді, це доволі небезпечно, бо можна так десь навидаляти, чого не треба, і не помітити

14

Re: Help! Дивна поведінка під час правого кліку на посилання

По філософії правильно було б робити DELETE запити але от якось досить все складно у вебі)
Кльово було б якби бравзери всі підтримували хоча б якесь апі яваскріптове і завди воно було включене )

15

Re: Help! Дивна поведінка під час правого кліку на посилання

Ну ок, добре, що причина знайшлась, може комусь ще допоможе