proverkatarget > 09-03-2017 13:34:14 |
Не правильно работает переход по ссылкам с одинаковым target. До появления многозадачности или многопроцессорности(точное название не знаю, буду называть "многозадачность") переход по ссылке с одинаковым target в разных окнах открывал одну новую вкладку и при клике опять на этой ссылке новая вкладка, которая открылась ранее, не открывалась, а обновлялась. Объясню на примере: Есть две идентичные вкладки, назовем их "Вкладка №1" и "Вкладка №2". В первой вкладке мы нажимаем ссылку с target="123". Открывается новая вкладка, назовем ее "Вкладка из ссылки". Далее переходим на вкладка "Вкладка №2" и нажимаем на ту же ссылку с target="123". Новая вкладка не открывается, а обновляется уже открытая вкладка "Вкладка из ссылки". Так было раньше, до введения "многозадачности". Теперь вкладка "Вкладка из ссылки" не обновляется, а открывается новая. Проверял на версии firefox 40, работает как нужно. На версии 51, не работает. Режим "многозадачности" отключать не хочу, очень нравится. Возможно ли как то решить эту проблему? |
yup > 09-03-2017 18:02:33 |
proverkatarget пишетЕсть две идентичные вкладки, назовем их "Вкладка №1" и "Вкладка №2". В первой вкладке мы нажимаем ссылку с target="123". Открывается новая вкладка, назовем ее "Вкладка из ссылки". Далее переходим на вкладка "Вкладка №2" и нажимаем на ту же ссылку с target="123". Новая вкладка не открывается, а обновляется уже открытая вкладка "Вкладка из ссылки".
Это может быть как правильным поведением, так и неправильным. Зависит от того, принадлежит содержимое вкладок №1 и №2 одному сайту или разным. Если в обеих вкладках открыты странички одного и того же сайта, то содержимое вкладки "123" должно обновляться. Но если они с разных сайтов, то должна открываться новая вкладка. P.S. proverkatarget пишетДо появления многозадачности или многопроцессорности(точное название не знаю, буду называть "многозадачность")
Оба варианта неправильные. Правильно: многопроцессность. |
okkamas_knife > 09-03-2017 18:17:17 |
открывать вторую вкладку с тем же адресом по второму клику это нормальное правильное и логичное поведение другое дело то что разрабы в своей "заботе о глупых юзверях" впилили в ФФ фичу не дающую открыть две вкладки с одним адресом, ну а с впиливанием многопроцессности никто не озаботился проверить совместимость фичи. так что ищем на багтрекере багрепорт об этом и подтверждаем а если его нет то создаём и ждём когда пофиксят. или периодически шерстим АМО вдруг ктото уже не стал ждать и выпустил расширение-фикс. |
yup > 09-03-2017 23:41:46 |
okkamas_knife пишетоткрывать вторую вкладку с тем же адресом по второму клику это нормальное правильное и логичное поведение
И чем тогда target="имя" будет отличаться от target="_blank"? okkamas_knife пишетдругое дело то что разрабы в своей "заботе о глупых юзверях" впилили в ФФ фичу не дающую открыть две вкладки с одним адресом
target="имя" - это рудимент ныне отвергнутой технологии в HTML, именуемой "frames". Именно имя фрейма надлежало указывать в target="имя". А открывать на странице вторую копию фрейма - идея несколько завиральная даже для нетскейповцев. (Причём тут они? А именно они фреймы в HTML ввели.) А с другой стороны - если в соседней вкладке или окне открыт другой сайт, и у него тоже фреймовая структура, и имена фреймов случайно совпали, то для браузера было бы глупо отправлять информацию во фрейм посторонней странички. Отсюда и описанная мной в предыдущем сообщении логика. |
proverkatarget > 10-03-2017 12:06:22 |
okkamas_knife пишетоткрывать вторую вкладку с тем же адресом по второму клику это нормальное правильное и логичное поведение другое дело то что разрабы в своей "заботе о глупых юзверях" впилили в ФФ фичу не дающую открыть две вкладки с одним адресом, ну а с впиливанием многопроцессности никто не озаботился проверить совместимость фичи. так что ищем на багтрекере багрепорт об этом и подтверждаем а если его нет то создаём и ждём когда пофиксят. или периодически шерстим АМО вдруг ктото уже не стал ждать и выпустил расширение-фикс.
Спасибо за совет. Может подскажете ссылку на багтреккер, где можно запостить багрепорт? 10-03-2017 12:09:50 yup пишетproverkatarget пишетЕсть две идентичные вкладки, назовем их "Вкладка №1" и "Вкладка №2". В первой вкладке мы нажимаем ссылку с target="123". Открывается новая вкладка, назовем ее "Вкладка из ссылки". Далее переходим на вкладка "Вкладка №2" и нажимаем на ту же ссылку с target="123". Новая вкладка не открывается, а обновляется уже открытая вкладка "Вкладка из ссылки".
Это может быть как правильным поведением, так и неправильным. Зависит от того, принадлежит содержимое вкладок №1 и №2 одному сайту или разным. Если в обеих вкладках открыты странички одного и того же сайта, то содержимое вкладки "123" должно обновляться. Но если они с разных сайтов, то должна открываться новая вкладка. P.S. proverkatarget пишетДо появления многозадачности или многопроцессорности(точное название не знаю, буду называть "многозадачность")
Оба варианта неправильные. Правильно: многопроцессность.
На обеих вкладках открыты странички одного сайта. Использование target нужно для старой системы. Если вдруг вы знаете чем его можно заменить, подскажите пожалуйста. Но логика должна сохраняться. Возможно это можно сделать на JS, но готовых решений я не нашел. |
okkamas_knife > 10-03-2017 12:54:53 |
Может подскажете ссылку на багтреккер, где можно запостить багрепорт?
https://bugzilla.mozilla.org/ основной https://bugzilla.mozilla-russia.org/ насчет этого не в курсе - спроси у администрации форума yup поясняю - таргет бланк - всегда означает открытие нового окна\вкладки другие таргеты обращаются только внутри текущей страницы то есть если ты открыл во вкладках две одинаковых страницы с фреймами и в одной кликнул по ссылке указывающей на внутренний фрейм то в другой вкладке ничего не случиться ибо это независимые окошки.
скрытый текст сама идея не давать открывать дубликаты вкладок порочна и сделана исключительно для того чтоб юзеры открывающие 100500 вкладок и страдающие склерозом не открывали ещё больше. всё как обычно вместо того чтоб приучать юзера к нормальному использованию продукта идут на поводу у него просто потому что это выгодно. отсюда же растут ноги и дикого потребления ресурсов. вот сам подумай ради отображения менее 1кб текста и пары картинок подгружаются сотни кб скриптов и стилей жрущих ресурсы компа. открой страничку например твиттера сохрани её полностью со всем что подгружается потом сохрани в текстовый файл чисто текст странички (выделить всё-копировать-вставить в блокнот) и сравни размеры. |
yup > 10-03-2017 15:48:37 |
okkamas_knife пишетдругие таргеты обращаются только внутри текущей страницы то есть если ты открыл во вкладках две одинаковых страницы с фреймами и в одной кликнул по ссылке указывающей на внутренний фрейм то в другой вкладке ничего не случиться ибо это независимые окошки.
Согласен. Но осталась не рассмотренной пара случаев, один из которых - когда на странице нет фреймов, а target="имя" в ссылках присутствует. Как такие ссылки открывать, когда: а) на страничке щелкают по ссылкам с одинаковым target? б) одна и та же страничка открыта в разных вкладках и там щелкают по ссылкам с одинаковым target? Стандарт о такой ситуации не говорит ничего. Лично мне кажется, что если логику работы с фреймами экстраполировать на эти ситуации, то в случаях а) и б) следует обновлять содержимое одной и той же [внутренне именованной] вкладки. Причём однажды мне даже пришлось задаться этим вопросом и поэкспериментировать. В результате была выявлена именно вышеуказанная логика работы браузера. |
okkamas_knife > 10-03-2017 17:28:33 |
если таргет не равен бланку то ссылка открывается либо в таргете либо осуществляется переход по ней если таргет на странице отсуствует. нормальное логичное и очевидное поведение. если работает не так то это косяк разработчиков браузера. |
yup > 10-03-2017 19:44:06 |
okkamas_knife пишетесли таргет не равен бланку то ссылка открывается либо в таргете либо осуществляется переход по ней если таргет на странице отсуствует. нормальное логичное и очевидное поведение. если работает не так то это косяк разработчиков браузера.
Но стандарт не определяет поведение браузера в такой ситуации. Поэтому разработчики что хотят, то и воротят. И ничего им не предъявишь. А кроме того, если вспомнить историю появления конструкции "target=" в HTML, то мозилловцы вообще имеют полное право заявлять: "Нам виднее, как оно должно работать". |
yup > 10-03-2017 21:34:07 |
okkamas_knife пишетоткрывать вторую вкладку с тем же адресом по второму клику это нормальное правильное и логичное поведение
Нашёл на сайте w3.org интересный документ. Не стандарт, но рекомендации по его реализации. Там говорится, что адресата, указанного в "target=", надлежит искать по всей иерархии окон. Т.е., если на каком-то этапе поиска нужное имя будет найдено даже в совершенно постороннем окне (вкладке), то показывать нужно в нём. Если же имя нигде не будет найдено, то нужно создать новое окно, создать в нём фрейм с этим именем и показать в нём. А из этого автоматом следует, что последующие обращения к данному имени должны попадать в это же свежесозданное окно, а не приводить к открытию нового. Так что у proverkatarget есть формальные основания оформлять заявление об ошибке. |
FireForce > 11-03-2017 07:07:14 |
yup Ссылкой на документ и на ту его часть, где всё это описывается не поделитесь? |
yup > 11-03-2017 11:58:03 |
FireForce Performance, Implementation, and Design Notes Кстати, я в прошлый раз несколько ошибся в изложении. На самом деле написанное там ещё интереснее: в случае неудачного поиска на последнем шаге следует не создавать именованный фрейм внутри созданного окна, а присвоить это имя самому окну! |
okkamas_knife > 11-03-2017 13:24:23 |
w3c походу тоже упоротые если такую явную дырищу делают стандартом. рукалицо.жпг а присвоить это имя самому окну!
неа - не самому окну а новому созданному. |
yup > 11-03-2017 14:04:09 |
okkamas_knife пишетw3c походу тоже упоротые если такую явную дырищу делают стандартом.
Понятия "область видимости" и "иерархия сущностей" им как будто неведомы. okkamas_knife пишетнеа - не самому окну а новому созданному.
Естественно. "Самому окну" в моей фразе именно к новосозданному и относилось. |
proverkatarget > 13-03-2017 09:35:49 |
yup пишетFireForcePerformance, Implementation, and Design NotesКстати, я в прошлый раз несколько ошибся в изложении. На самом деле написанное там ещё интереснее: в случае неудачного поиска на последнем шаге следует не создавать именованный фрейм внутри созданного окна, а присвоить это имя самому окну! Отредактировано yup (11-03-2017 12:06:48)
Спасибо за поиск! Запостил багреппорт https://bugzilla.mozilla.org/show_bug.cgi?id=1346691 На русскоязычной версии не нашел нужного пункта. |