|  |
| Автор |
Сообщение |
volkov888 ®
Стаж: 12 лет 2 мес.
Сообщений: 1813
Ratio: 874.012
Поблагодарили: 100347
100%
|
При создании ссылки поиска дублируются параметры. Пример: 1. В поиске по трекеру найти PDF, нажать "Искать", нажать "Получить ссылку": Получим правильную ссылку: https://nnmclub.to/forum/tracker.php?nm=PDF2. Затем в результатах поиска нажать на какой-нибудь форум, потом нажать "Получить ссылку": Получим ссылку с задвоенными параметрами: https://nnmclub.to/forum/tracker.php?f=767&nm=PDF?nm=PDF&f=767 |
|
|
 |
Kalex
Администратор
Стаж: 18 лет 5 мес.
Сообщений: 48213
Ratio: 260.688
Поблагодарили: 15332
100%
|
volkov888Не совсем понял, что и как делаете Вы, чтобы получить такой необычный результат, но я не могу подтвердить наличие проблемы. Всё работает как положено и как задумано.
P.S. Не рекомендую использовать ссылку на результат поиска на трекере, не у всех она покажет тот же результат, что и у Вас. У меня, например, по Вашему поисковому запросу результат будет вообще нулевой, потому что у меня обычно применены фильтры, которые нужны мне, и они сохраняются автоматически. Именно поэтому в раздачах видео мы требуем отправлять в поиск с результатами на портале. На скриншоте я временно сбросил свои фильтры, затем вернул обратно. Добавлено спустя 3 минуты 28 секунд: volkov888 писал(а):  | Затем в результатах поиска нажать на какой-нибудь форум, потом нажать "Получить ссылку" |
Сначала сброс, пустой поиск, потом нужные фильтры, поисковый запрос, и получаем ссылку, а не как-то иначе. Добавлено спустя 10 минут 15 секунд:Основы поиска в tracker.php и синтаксис я писал здесь Новый подраздел в рубрике PS3 |
|
|
 |
volkov888 ®
Стаж: 12 лет 2 мес.
Сообщений: 1813
Ratio: 874.012
Поблагодарили: 100347
100%
|
|
 |
Kalex
Администратор
Стаж: 18 лет 5 мес.
Сообщений: 48213
Ratio: 260.688
Поблагодарили: 15332
100%
|
volkov888 писал(а):  | Скриншот |
Покажите видео, начиная со сброса настроек поиска, что там у Вас происходит. |
|
|
 |
volkov888 ®
Стаж: 12 лет 2 мес.
Сообщений: 1813
Ratio: 874.012
Поблагодарили: 100347
100%
|
Kalex писал(а):  | Покажите видео, начиная со сброса настроек поиска, что там у Вас происходит. |
Зачем усложнять, по скриншоту всё понятно. Смотрим на ссылку и URL в браузере. Левая часть ссылки совпадает с URL. Следовательно можем предположить, что где-то в коде берётся URL и к нему добавляются параметры. При нажатии на "Получить ссылку" вызывается функция "get_fs_link()". Смотрим её: | Код: выделить все function get_fs_link() { var n = $("#fs").val(), o = $("#nm").val(), r = $("#pn").val(); return o = encodeURI(o), o = o.replace(/\(/g, "%28"), o = o.replace(/\)/g, "%29"), o = o.replace(/\'/g, "%27"), o = o.replace(/\:/g, "%3A"), o = o.replace(/\;/g, "%3B"), null != n && -1 == $.inArray("-1", n) && "" != o && "" != r ? window.prompt("Ваша ссылка:", "" + window.location + "?nm=" + o + "&f=" + n.sort().join() + "&pn=" + r) : null != n && -1 == $.inArray("-1", n) && "" != o ? window.prompt("Ваша ссылка:", "" + window.location + "?nm=" + o + "&f=" + n.sort().join()) : "" != o && "" != r ? window.prompt("Ваша ссылка:", "" + window.location + "?nm=" + o + "&pn=" + r) : "" != o ? window.prompt("Ваша ссылка:", "" + window.location + "?nm=" + o) : alert("У Вас пустая строка поиска"), !1 }
|
Предположение оказалось верно, в коде есть строки: window.location + "?nm=" Так делать нельзя, т.к. window.location уже содержит параметры. Гуглим решение: https://stackoverflow.com/questions/6257463/how-to-get-the-url-without-any-parameters-in-javascriptКод можно поправить например так: "window.location" заменить на "location.origin + location.pathname" | Код: выделить все function get_fs_link() { var url = window.location.origin + window.location.pathname; var n = $("#fs").val(), o = $("#nm").val(), r = $("#pn").val(); return o = encodeURI(o), o = o.replace(/\(/g, "%28"), o = o.replace(/\)/g, "%29"), o = o.replace(/\'/g, "%27"), o = o.replace(/\:/g, "%3A"), o = o.replace(/\;/g, "%3B"), null != n && -1 == $.inArray("-1", n) && "" != o && "" != r ? window.prompt("Ваша ссылка:", "" + url + "?nm=" + o + "&f=" + n.sort().join() + "&pn=" + r) : null != n && -1 == $.inArray("-1", n) && "" != o ? window.prompt("Ваша ссылка:", "" + url + "?nm=" + o + "&f=" + n.sort().join()) : "" != o && "" != r ? window.prompt("Ваша ссылка:", "" + url + "?nm=" + o + "&pn=" + r) : "" != o ? window.prompt("Ваша ссылка:", "" + url + "?nm=" + o) : alert("У Вас пустая строка поиска"), !1 }
|
|
|
|
 |
Kalex
Администратор
Стаж: 18 лет 5 мес.
Сообщений: 48213
Ratio: 260.688
Поблагодарили: 15332
100%
|
volkov888 писал(а):  | Зачем усложнять, по скриншоту всё понятно. |
Вам понятно, а мне нет, я не смог воспроизвести это и сколько лет пользуюсь поиском на трекере, фильтрами, генерацией ссылок и обучением основам поиска других, никаких проблем не было, я с таким не сталкивался. Я передам пожелания разработчикам, спасибо Вам за багрепорт, ЕСЛИ это реально баг, косяк, и "проблема" подтвердится, ИЛИ ЕСЛИ в результате этого можно будет что-то улучшить с нашей стороны, чтобы у Вас работало так, как используете это Вы. Добавлено спустя 21 минуту 23 секунды:volkov888Проверьте еще раз так, как делали Вы, должно работать нормально. |
|
|
 |
volkov888 ®
Стаж: 12 лет 2 мес.
Сообщений: 1813
Ratio: 874.012
Поблагодарили: 100347
100%
|
Kalex писал(а):  | Проверьте еще раз так, как делали Вы, должно работать нормально. |
Если перейти по этой ссылке: https://nnmclub.to/forum/tracker.php?f=767&nm=PDFи нажать "Получить ссылку", то будет ссылка https://nnmclub.to/forum/tracker.php?nm=PDF&f=767Для таких ссылок проблема исправлена. Если перейти по этой ссылке: https://nnmclub.to/forum/tracker.php?nm=PDFи нажать "Получить ссылку", то будет ссылка https://nnmclub.to/forum/tracker.php?nm=PDF?nm=PDFДля таких ссылок проблема повторяется, параметры дублируются. |
|
|
 |
Kalex
Администратор
Стаж: 18 лет 5 мес.
Сообщений: 48213
Ratio: 260.688
Поблагодарили: 15332
100%
|
volkov888 писал(а):  | Если |
Так "если", или всё же сразу "по скриншоту всё понятно"? Хех... Ладно, передам и это разработчикам. Хотя вряд ли задумывалось, чтобы вот так всё это использовать, это же надо было придумать такое  |
|
|
 |
volkov888 ®
Стаж: 12 лет 2 мес.
Сообщений: 1813
Ratio: 874.012
Поблагодарили: 100347
100%
|
Kalex писал(а):  | это же надо было придумать такое  |
Ничего особенного, простое тестирование кода, обычно это должны делать разработчики когда пишут код. Сейчас функция выглядит так: | Код: выделить все function get_fs_link(){ var n=$("#fs").val(),o=$("#nm").val(),r=$("#pn").val(); return o=encodeURI(o), o=o.replace(/\(/g,"%28"), o=o.replace(/\)/g,"%29"), o=o.replace(/\'/g,"%27"), o=o.replace(/\:/g,"%3A"), o=o.replace(/\;/g,"%3B"), null!=n&&-1==$.inArray("-1",n)&&""!=o&&""!=r? window.prompt("Ваша ссылка:",""+window.location.origin+window.location.pathname+"?nm="+o+"&f="+n.sort().join()+"&pn="+r):null!=n&&-1==$.inArray("-1",n)&&""!=o? window.prompt("Ваша ссылка:",""+window.location.origin+window.location.pathname+"?nm="+o+"&f="+n.sort().join()):""!=o&&""!=r? window.prompt("Ваша ссылка:",""+window.location.origin+window.location.pathname+"?nm="+o+"&pn="+r):""!=o? window.prompt("Ваша ссылка:",""+window.location+"?nm="+o):alert("У Вас пустая строка поиска"), !1 }
|
Здесь в первых трех случаях window.location поменяли на window.location.origin+window.location.pathname, а в четвертом забыли, поэтому если используется только один параметр "nm", то работать будет неправильно. Вообще, в этой функции код плохо написан, есть дублирование кода: здесь четыре вызова window.prompt, а по хорошему в этой функции должен быть только один вызов. |
|
|
 |
Kalex
Администратор
Стаж: 18 лет 5 мес.
Сообщений: 48213
Ratio: 260.688
Поблагодарили: 15332
100%
|
volkov888 Передал дальше ссылку на Ваш комментарий. |
|
|
 |
|
|
|