Изменение всех ссылок в Google chrome с помощью консоли javascript - PullRequest
0 голосов
/ 27 февраля 2020

Я читаю исследовательские работы с конференции NeurIPS, но если вы нажмете на любую исследовательскую работу, она откроет новую страницу, а затем вы должны выбрать опцию pdf, чтобы открыть статью. Так что в основном это три этапа процесса. Но я пытаюсь сделать это двухэтапным процессом, изменив исходный код через консоль.

Это URL-адрес веб-сайта конференции , теперь, если вы нажмете на любую ссылку, например первую URL ссылки на бумагу выглядит так:

https://papers.nips.cc/paper/8296-multimodal-model-agnostic-meta-learning-via-task-aware-modulation

Но если вы добавите '.pdf' в конце этого URL, это непосредственно открывает pdf

https://papers.nips.cc/paper/8296-multimodal-model-agnostic-meta-learning-via-task-aware-modulation.pdf

Я пытаюсь сделать это, консольный скрипт, который добавляет «.pdf» в все href, поэтому мне не нужно go через бумажную страницу, а затем pdf

Я попытался собрать все URL с веб-сайта:

var urls = [];
for(var i = document.links.length; i --> 0;)
    if(document.links[i].hostname === location.hostname)
        urls.push(document.links[i].href);

Как изменить все URL и, наконец, добавьте «.pdf», чтобы при нажатии любой ссылки на URL-адресе веб-сайта она go переходила непосредственно на URL-адрес PDF?

Спасибо всем!

Ответы [ 2 ]

3 голосов
/ 27 февраля 2020
document.querySelectorAll('a').forEach(x => x.href = `${x.href}.pdf`)

Как это? Это добавит «.pdf» ко всем ссылкам в документе, поэтому, если вы хотите что-то исключить, вы можете использовать Array.from (document.querySelectorAll ('a')). Filter () или, если возможно, можете также просто измените селектор css!

1 голос
/ 27 февраля 2020

Какой желаемый результат? Вы просто хотите, чтобы список ссылок с «.pdf» добавлялся к каждому, или вы хотите изменить сами ссылки, чтобы при нажатии на них уже добавлялся «.pdf»?

Если в первом случае будет возвращен массив ссылок с добавленным .pdf:

var urls = [];
for(var i = document.links.length; i-- > 0;)
    if(document.links[i].hostname === location.hostname)
        urls.push(document.links[i].href += '.pdf');

Если в последнем случае, это добавит .pdf ко всем ссылкам на странице:

var urls = [];
for(var i = document.links.length; i-- > 0;)
    if(document.links[i].hostname === location.hostname)
        document.links[i].href += '.pdf';
...