Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Обрезать url включая &file= (https://javascript.ru/forum/misc/78451-obrezat-url-vklyuchaya-file%3D.html)

basil.veber 16.09.2019 17:39

Обрезать url включая &file=
 
Подскажите пожалуйста решение.
На сайте есть кнопка:
<button onclick="Download()">Скачать видео</button>

На которую сторонним модулем вешается приблизительно такого вида ссылка:
https://site.info/go/video/42095/06e19a1aa72fc0341f03902facd9f308/720p?d=kino&d_sign=8d9457f50b827ef5c562de63871b22bdb8adb55dd303258518d7dee108efa90b&pd=kodik&pd_sign=09ffe86e9e452eec302620225d9848eb722efd800e15bf707195241d9b7e4b2b&file=https://newsite.site/video/06e19a1aa72fc0341f03902facd9f308/ono2-720p.mp4

Для каждого нового IP адреса она своя.

Проще говоря. После клика по:
<button onclick="Download()">Скачать видео</button>

Открывается новое окно с таким адресом:
https://site.info/go/video/42095/06e19a1aa72fc0341f03902facd9f308/720p?d=kino&d_sign=8d9457f50b827ef5c562de63871b22bdb8adb55dd303258518d7dee108efa90b&pd=kodik&pd_sign=09ffe86e9e452eec302620225d9848eb722efd800e15bf707195241d9b7e4b2b&file=https://newsite.site/video/06e19a1aa72fc0341f03902facd9f308/ono2-720p.mp4

Как можно его обрезать, чтобы после клика по ней открывалось окно с адресом после символов &file=?

basil.veber 21.09.2019 13:29

Есть у кого предположения как такое осуществить?

laimas 21.09.2019 14:09

//или
s.substr(s.indexOf('file')+5)
//или
s.match(/(?<=file=).+/)[0]
//или (не будет поддержки IE)
s = new URL(s).searchParams;
s.get('file');


где s, это ссылка.

basil.veber 21.09.2019 17:52

laimas, не получается проверить работоспособность данного скрипта. Не хочет работать на странице.
Прописывал и так:
<script>
s.match(/(?<=file=).+/)[0]
</script>

и так:
<script>
s.substr(s.indexOf('file')+5)
</script>

и так:
<script>
s = new URL(s).searchParams;
s.get('file');
</script>


И вместо s прописывал ссылку на прямой файл,
<script>
https://newsite.site/video/06e19a1aa72fc0341f03902facd9f308/ono2-720p.mp4.match(/(?<=file=).+/)[0]
</script>

хоть она генерируется автоматом, но url всеровно не обрубается.

laimas 21.09.2019 18:02

var a = 'https://site.info/go/video/42095/06e19a1aa72fc0341f03902facd9f308/720p?'+
'd=kino&d_sign=8d9457f50b827ef5c562de63871b22bdb8adb55dd303258518d7dee108efa90b&'+
'pd=kodik&pd_sign=09ffe86e9e452eec302620225d9848eb722efd800e15bf707195241d9b7e4b2b&'+
'file=https://newsite.site/video/06e19a1aa72fc0341f03902facd9f308/ono2-720p.mp4';
a = a.substr(a.indexOf('file')+5);
alert(a);


Строка разбита только для того, чтобы не тянула портянку горизонтальную. И другие будут работать, то есть проблема (ошибка) не в этом.

laimas 21.09.2019 18:08

Цитата:

Сообщение от basil.veber
https://newsite.site/video/06e19a1aa72fc0341f03902facd9f308/ono2-720p.mp4.match(/(?<=file=).+/)[0]

Это ошибка - строка должна заключаться в кавычки.

basil.veber 21.09.2019 19:06

Прошу прощенlaimas, но я все ровно не понимаю как заствить это работать. Есть ли что-то универсальное, допустим похожее по исполнению на это (просто взял из головы как пример).

На сайте есть кнопка:
<button onclick="Download();">Скачать видео</button>
После клика по которой мы попадаем на левый сайт, а нам нужно затереть первую часть урла и оставить только кусок после &file=, чтобы появилось сразу окно загрузки файла.

И скрипт к примеру мог выглядеть следующим образом:
<script>
Download().match(/(?<=file=).+/)[0]
</script>

laimas 21.09.2019 19:28

Цитата:

Сообщение от basil.veber
На сайте есть кнопка

И вы предлагаете мне догадаться в каком месте кода, которого никто не видел, появляется некая ссылка, которую нужно препарировать, и написать вам как это сделать? Я не волшебник.

Download().match(/(?<=file=).+/)[0], это полнейший бред, как и строка без кавычек.

basil.veber 22.09.2019 10:04

laimas,
Цитата:

И вы предлагаете мне догадаться в каком месте кода, которого никто не видел, появляется некая ссылка
Она нигде не появляется, а сторонним скриптом/модулем генерируется на лету, на основе title страницы и вешается на <button onclick="Download();">,после клика по который открывается новое окно с той ссылкой. Вот и хочется узнать, есть ли решение, чтобы после клика на <button onclick="Download();"> ненужная часть url отсекалась и открывалось окно уже с прямой ссылкой на .mp4

laimas 22.09.2019 13:39

Вот и изменяйте код своего модуля.


Часовой пояс GMT +3, время: 04:13.