Бред

Ответить в тред Ответить в тред
Check this out!
Аноним 02/10/21 Суб 11:43:22 2554098591
.jpg 263Кб, 1400x1050
1400x1050
Как поменять местами элементы страницы?

Призываю вебмакак. Нужно поменять местами 444 и 999, желательно юзерскрипт или стиль. Хочу научиться менять местами любые элементы.

<div id="111">
<div class="222">
<span jsname="333">
<div>
<div class="444">
<div id="555">
<div class="666">
<div id="777">
<div id="888">
<div id="999">
Аноним 02/10/21 Суб 11:46:02 2554099902
Не знаю как проблем поставить перед текстом. Короче эти два блока начинаются на одном уровне.

<div id="111">
<div class="222">
<span jsname="333">
<div>
<div class="444">

<div id="555">
<div class="666">
<div id="777">
<div id="888">
<div id="999">
Аноним 02/10/21 Суб 11:47:04 2554100483
Начинаются на одном уровне:

<div id="111"> и <div id="555">

И дальше спускаются каждый своей лесенкой.
Аноним 02/10/21 Суб 11:52:01 2554102984
Нужна помощь, я не справляюсь.
Аноним 02/10/21 Суб 11:56:57 2554105325
Аноним 02/10/21 Суб 12:04:35 2554109046
image.png 16Кб, 598x199
598x199
всё гуглится
Аноним 02/10/21 Суб 12:12:14 2554112107
>>255410904
Я не понимаю. Мне нужно на моем примере.
Аноним 02/10/21 Суб 12:22:01 2554116278
Аноним 02/10/21 Суб 12:30:32 2554119689
Аноним 02/10/21 Суб 12:32:56 25541209010
Аноним 02/10/21 Суб 13:02:09 25541355511
>>255412090
Не работает.

<span class="D6lY4c" jsname="czHhOd">
<span data-ved="randomname" jsname="GY3Xob">

Пробовал
const element1 = document.getElementById('GY3Xob')
const element2 = document.getElementById('D6lY4c')

const element1 = document.getElementById('GY3Xob')
const element2 = document.getElementById('czHhOd')
Аноним 02/10/21 Суб 13:15:25 25541425512
Аноним 02/10/21 Суб 13:19:22 25541446513
Аноним 02/10/21 Суб 13:21:58 25541461214
Аноним 02/10/21 Суб 13:23:24 25541470615
>>255409859 (OP)
Ты реально настолько тупой или это жир?
Аноним 02/10/21 Суб 13:26:52 25541489116
Аноним 02/10/21 Суб 13:37:31 25541542117
Аноним 02/10/21 Суб 13:40:55 25541557918
Аноним 02/10/21 Суб 13:49:47 25541597119
Аноним 02/10/21 Суб 13:52:09 25541605720
Аноним 02/10/21 Суб 13:58:53 25541637221
Аноним 02/10/21 Суб 13:59:01 25541637922
Аноним 02/10/21 Суб 14:00:44 25541645623
>>255416379
Как вот это поменять местами? Тут нет класса:

<span class="D6lY4c" jsname="czHhOd">
<span data-ved="randomname" jsname="GY3Xob">

Аноним 02/10/21 Суб 14:02:46 25541654224
>>255409859 (OP)
Чел, просто кинь это всё во флоат и сортируй так, как тебе надо.
Аноним 02/10/21 Суб 14:03:39 25541657525
Аноним 02/10/21 Суб 14:11:03 25541690226
>>255416542
> флоат
иди нахуй, тупая макака.
>>255409859 (OP)
Тут можно менять через CSS, используя гриды и свойство grid-tamplate-areas. Но так как ты тупой вкатун для тебя это слишком сложно, поэтому просто используй решение с клонированием нод анона сверху. можно сделать это без клонирования
Аноним 02/10/21 Суб 14:12:55 25541699127
Аноним 02/10/21 Суб 14:13:42 25541704128
Аноним 02/10/21 Суб 14:15:16 25541710329
>>255416542
>флоат
Что это?
>>255416575
Не работает. Я пытаюсь поменять кнопку в гуглопоиске, которая открывает окно "About this result" на кнопку "Cache", которая находит в правом нижнем углу окна "About this result".
>>255416902
Я не вкатун, я пытаюсь исправить говнодизайн гуглодегенератов.
Аноним 02/10/21 Суб 14:17:08 25541718630
>>255417103
>Я пытаюсь поменять кнопку в гуглопоиске, которая открывает окно "About this result" на кнопку "Cache
В чем проявляется? Кнопка сама перемещается, но при нажатии ничего не происходит? Или вообще остается на одном месте?
Аноним 02/10/21 Суб 14:17:43 25541721931
>>255417103
>Я пытаюсь поменять кнопку в гуглопоиске, которая открывает окно "About this result" на кнопку "Cache", которая находит в правом нижнем углу окна "About this result".
Кинь скрины кнопок, чтобы было понятно, где они находятся
Аноним 02/10/21 Суб 14:18:13 25541724632
Аноним 02/10/21 Суб 14:19:06 25541728833
>>255417246
Тут про юзерскрипты речь, а не про разработку
Аноним 02/10/21 Суб 14:21:22 25541741634
.jpg 53Кб, 804x171
804x171
.jpg 57Кб, 696x247
696x247
.jpg 190Кб, 1298x726
1298x726
>>255417186
В коде страницы все по-старому, работает кнопка также как и раньше - открывает "About this result"
>>255417219
Первая картинка код кнопки Cache. Вторая картинка код кнопки, которая открывает "About this result". Третья картинка местоположение кнопок.
Аноним 02/10/21 Суб 14:25:27 25541762935
>>255417186
Браузер фаерфокс старый до версии 57. Был случай, когда некоторые функции юзерскрипта на нем не работали, но работале на 57+.
Аноним 02/10/21 Суб 14:38:57 25541834336
Аноним 02/10/21 Суб 14:41:33 25541848637
>>255418343
Поддержу адеквата, рабочий варик, а то я уже было начал писать враппер для addEventListener
Аноним 02/10/21 Суб 14:42:41 25541854638
>>255418343
>>255409859 (OP)
Есть еще вариант без ебани: на месте второй ноды вставить пустую заглушку-ноду комментария, затем просто свапнуть два раза.
Вроде так даже во vue работает движок при использовании дерективы v-if
Аноним 02/10/21 Суб 14:45:57 25541870639
Аноним 02/10/21 Суб 14:59:24 25541933940
>>255418706
>ophui
Это куда? Элементы, которые надо поменять местами:

<span class="D6lY4c" jsname="czHhOd">
<span data-ved="randomname" jsname="GY3Xob">
Аноним 02/10/21 Суб 15:00:53 25541943641
>>255419339
Бля, ты видимо пиздец тупой, либо тролль. Возьми на поменяй значения в коде из жсфиддла под свои селекторы.
Аноним 02/10/21 Суб 15:05:34 25541967342
>>255419436
Я не понимаю что такое "ophui".
Аноним 02/10/21 Суб 15:10:34 25541993543
>>255419673
посмотри выше в html код. Там есть кнопка, которая имеет id ophui, в js же мы находим эту кнопку по id через метод document.getElementById и навешиваем на эту кнопку обработчик на событие click
Аноним 02/10/21 Суб 15:28:00 25542079944
Аноним 02/10/21 Суб 15:33:02 25542107145
>>255420799
order работает только в пределах одного флекс контейнера.
А опушке надо из разных блоков все это менять
См. >>255417416
Аноним 02/10/21 Суб 15:45:42 25542167746
>>255419935
Там нет такого айди. Что на что менять?

<span class="D6lY4c" jsname="czHhOd">
<span data-ved="randomname" jsname="GY3Xob">

Уникальное и неизменное здесь только jsname="czHhOd" и jsname="GY3Xob"

Аноним 02/10/21 Суб 15:50:35 25542188747
>>255421677
В первом элементе есть класс, по нему можно найти:
document.getElementsByClassName("D6lY4c")[0]
или по атрибуту jsname
document.querySelector("span[jsname=czHhOd]")

Во втором элементе класса нет, поэтому только искать по атрибутам:

document.querySelector("span[data-ved=randomname]")
или
document.querySelector("span[jsname=GY3Xob]")
или
document.querySelector("span[jsname=GY3Xob][data-ved=randomname]")

Почитай на досуге https://developer.mozilla.org/ru/docs/Web/CSS/CSS_Selectors
Аноним 02/10/21 Суб 15:58:05 25542222948
>>255421677
Вот список всех методов, которые будут искать элементы на странице:
querySelector - находит первый найденных элемент, соответствующией переданному CSS - селектору
querySelectorAll - находит все найденные элементы, соответствующией переданному CSS - селектору
getElementById - возвращает первый найденных элемент с указанным id
getElementsByClassName - возращает живую коллекцию всех элементов с переданным классом
getElementsByTagName возращает живую коллекцию всех элементов с переданным тэгом (например, div)
getElementsByTagName возращает живую коллекцию всех элементов с переданным тэгом и именным пространством, например.

Аноним 02/10/21 Суб 15:58:35 25542225649
>>255422229
в последнем getElementsByTagNameNS я имел в виду, да
Аноним 02/10/21 Суб 16:01:29 25542238650
Аноним 02/10/21 Суб 16:02:01 25542241251
Аноним 02/10/21 Суб 16:02:26 25542243352
Аноним 02/10/21 Суб 16:06:18 25542264053
const ophuiBtn = document.getElementById("ophui") as HTMLButtonElement;

Че сюда писать? Какой элемент?
Аноним 02/10/21 Суб 16:07:34 25542270254
Аноним 02/10/21 Суб 16:08:36 25542275755
Аноним 02/10/21 Суб 16:09:23 25542280356
>>255422757
я выше написал че делает метод getElementById, и что ему нужно передавать.
>>255422229
Аноним 02/10/21 Суб 16:13:28 25542301257
Стилями можно.
Гугли свойство order
Аноним 02/10/21 Суб 16:13:56 25542303958
Аноним 02/10/21 Суб 16:15:49 25542315959
.jpg 190Кб, 1298x726
1298x726
Кажется я понял в чем проблема. Элемент:

<span data-ved="randomname" jsname="GY3Xob">

Не появляется, пока не нажать на кнопку, которая открывает "About this result". Следовательно скрипт не может поменять. Сами ссылку на webcache хранятся в скрипте (<script>), из которого они прогружаются в этот элемент. Кусок скрипта со ссылкой:
https://webcache.googleusercontent.com/search?q\\u003dcache:SsA6anm1iyEJ:https://www.gfa-group.de/+\\u0026cd\\u003d1\\u0026hl\\u003den\\u0026ct\\u003dclnk\\u0026gl\\u003dru\x22,null,[null,[32,null,2]],null,null,null,[[\x22Cached\x22]]]]]]]','Ao5Tb0','[3,1,null,null,0,0,0,0,0,0,1,1]','Ao5Tbg','[0,2500,\x22/search?hl\\u003den\x22,\x220\x22,\x22inline\x22,2,0,0,null,0,0,0,0]','Ao5Tbs','[null,null,null,null,null,null,[[\x22Source\x22,\x22
Аноним 02/10/21 Суб 16:16:05 25542317660
>>255423039
Почему бы просто не добавить обёртку, которую и сделать флекс-контейнером.
Аноним 02/10/21 Суб 16:18:37 25542329961
>>255423159
Поридж открыл для себя SPA.
Тогда реверс-инженерингом смотри, что делает этак кнопка и создавай свою кнопку с таким же поведением. Или просто эмулируй клик на первую кнопку, чтобы появился этот попап и в нем нажми на нужную тебе кнопку, затем скрой попап.
>Почему бы просто не добавить обёртку
Она в совершенно разных блоках находится. Как ты обернешь все эти в блоки, если внутри них есть другие флексбоксы/гриды?
Аноним 02/10/21 Суб 16:18:55 25542331762
Аноним 02/10/21 Суб 16:19:23 25542333863
Причем мразотный гугл шифрует кеш, чтобы нельзя было кеш открыть путем добавления адреса сайта. Пример ссылки:

https://webcache.googleusercontent.com/search?q=cache:SsA6anm1iyEJ:https://www.gfa-group.de/

После SsA6anm1iyEJ может быть любой сайт, кеш все равно откроется тот, который зашифрован в SsA6anm1iyEJ. Пример:

https://webcache.googleusercontent.com/search?q=cache:SsA6anm1iyEJ:https://2ch.hk

Откроется кеш сайта https://www.gfa-group.de/
Аноним 02/10/21 Суб 16:20:25 25542339264
>>255423317
Ну тогда пусть скриптом делает, который ему выше кинули. Только пусть от var избавится.
Аноним 02/10/21 Суб 16:21:07 25542341865
>>255409859 (OP)
находишь по classname
сохраняешь в отдельную перменную
ищешь место куда хочешь воткунть предвориттельно удалив из прошлого
через некст узел вставляешь
готово
Аноним 02/10/21 Суб 16:21:08 25542342266
>>255423299
Я не вкатун епт, я просто хочу чтобы кнопка кеш была в удобном месте. Не так давно можно было нажать на эту же иконку из трех точек и там вылезало "cache", причем ссылки тогда не шифровались в скрипте. Ублюдочный гугл.
Аноним 02/10/21 Суб 16:23:04 25542352467
>>255423392
Та не получится тем скриптом, там же спа на говногуляре. Там этот элемент не появляется в доме пока не кликнешь на эту кнопку.
>>255423422
Ну так просто создай новую кнопку, при нажатии на которую будет клик на троеточие, затем на кэш. Нахуя ты тратишь время уважаемых синьор-вротенд-пиздаболов вроде меня с дебильными задачами вроде поменять кнопки местами? Сразу не мог написать что ты хочешь сделать и нахуя тебе это надо?
Аноним 02/10/21 Суб 16:27:00 25542373868
>>255423524
Я не знал, что там все так сложно. Я вообще думал, что это меняется стилем, также как меняются местами заголовок результата поиска и адрес сайта:
.g > div[data-hveid] > div.tF2Cxc > div.yuRUbf > a > br:first-child ~ h3 ~ div {
position: static;
margin-top: -0.2em;
}
.Imj78 ~ [data-ved] ~ div

Пытался подставлять свои значения, а это, как оказалось, работает только в пределах одного блока.
Аноним 02/10/21 Суб 16:27:49 25542378769
image.png 10Кб, 470x113
470x113
>>255423738
Давай начнем с самого начала. Как ты вообще открыл поиск гугла с тремя точками? У меня он так открывается:
Аноним 02/10/21 Суб 16:27:51 25542379170
>.Imj78 ~ [data-ved] ~ div
Это лишнее.
Аноним 02/10/21 Суб 16:29:37 25542389071
>>255423787
Гугл еще не перевел тебя на эту бета версию. Куки давно чистил? Айпи давно менял? У меня где-то 2 месяца назад поменялось. Некоторое время удавалось сменой айпи и чисткой кук вернуться на старую версию, но сейчас видимо гугломразь перевела всего моего провайдера на тест своей параши. В любом случае скоро это появится у всех.
Аноним 02/10/21 Суб 16:30:34 25542394972
>>255423890
>Айпи давно менял?
У меня статчиеский белый ip, уже как несколько лет.
>Куки давно чистил?
Спецом ща првоерил в инкогнито режиме, все так же
Аноним 02/10/21 Суб 16:33:14 25542410173
>>255423949
>статчиеский белый ip
У меня динамика, скорее всего они весь мой диапазон поставили на тест своего говна. Гугл всегда так делает. Новый уродский дизайн ютуба тоже вводили постепенно, чтобы скот особо не бухтел. На реддите я видел инфу о том, что некоторых посадили на него еще с весны.
Аноним 02/10/21 Суб 16:35:39 25542425374
>>255423418
Уже выяснили, что один из элементов не появляется до тех пор, пока не нажмешь кнопку, открывающую "about this result"
Аноним 02/10/21 Суб 16:37:35 25542435575
>>255424101
Информация о том, как перейти на кэш версию так и осталась на странице гугла, кстати.
Вот таким образом:
https://www.google.com/search?q=cache:example.com/your/page.html.
В итоге, получается:
1. После загрузки страницы тебе нужно найти все ссылки в результатах поиска
2. Скопировать адрес этой ссылки
3. Убрать из скопированного адреса ссылки протокол (http:// или https://)
4. Создать новую ссылку
5. Задать новой ссылке target=_blank и href=https://www.google.com/search?q=cache:ССЫЛКАИЗПУКНТА3
6. Поместить ссылку рядом ссылкой поиска, опционально применить стили.
Дерзай.




Аноним 02/10/21 Суб 16:40:36 25542453076
>>255423524
>Ну так просто создай новую кнопку, при нажатии на которую будет клик на троеточие, затем на кэш
Как это сделать?
>>255424355
Работает, это странно:

http://webcache.googleusercontent.com/search?q=cache:https://www.kinopoisk.ru/film/946943/

Но возможно скоро перестанет, потому что новые ссылки на кеш выглядят вот так, причем они так выглядели даже на старой версии гугла:

https://webcache.googleusercontent.com/search?q=cache:xn8ytpXDvYIJ:https://www.kinopoisk.ru/film/946943/
Аноним 02/10/21 Суб 16:41:37 25542457977
>>255424355
>1. После загрузки страницы тебе нужно найти все ссылки в результатах поиска
>2. Скопировать адрес этой ссылки
>3. Убрать из скопированного адреса ссылки протокол (http:// или https://)
>4. Создать новую ссылку
>5. Задать новой ссылке target=_blank и href=https://www.google.com/search?q=cache:ССЫЛКАИЗПУКНТА3
>6. Поместить ссылку рядом ссылкой поиска, опционально применить стили.
Я не осилю. Это юзерскриптом делается?
Аноним 02/10/21 Суб 16:42:02 25542460278
>>255424530
>скоро перестанет
Не перестанет. Гуглу посрать на пару анонов, которые будут открывать кэш по старой ссылке, главное отсеять основную массу.
А выпиливать они не будут, так как явно сломают большое количество сервисов, включая свои.
Аноним 02/10/21 Суб 16:43:29 25542468879
>>255424579
>Я не осилю
Ну по пунктам приступай, вопросы всегда можешь задавать сюда или в жс тред в программаче, если этот утонет.
>Это юзерскриптом делается?
Ясен хуй, стилями ты такое сделать не сможешь.
Аноним 02/10/21 Суб 16:46:21 25542483880
>>255424688
>1. После загрузки страницы тебе нужно найти все ссылки в результатах поиска
Я даже это не понял. Я в скриптах ноль, я могу только по аналогии что-то переделать.
Аноним 02/10/21 Суб 16:59:07 25542550881
image.png 8Кб, 528x66
528x66
>>255424838
Ну смотри, я буду приводитьв пример свою версию гугла, со старым интерфейсом, так как новой нет.
1. Ждем загрузки страницы.
Здесь мы ждем пока закгрузится документ, затем выполняем функцию (она сейчас пустая)
document.addEventListener('load', ()=>{})
2. Ищем все ссылки в результатах поиска:
В этой функции вызываем querySelectorAll, про который я писал выше И сохраянем в констатну links. Селектор .yuRUbf>a находит все ссылки (a), которые находится непосредственно под элементом с классом yuRUbf (см. пикрилейтед)
document.addEventListener('load', ()=>{
const links = document.querySelectorAll(".yuRUbf>a")
})
3. Далее проходимся по нашим ссылкам через цикл for of:
document.addEventListener('load', ()=>{
const links = document.querySelectorAll(".yuRUbf>a");
for (const link of links){}
})
4. Убираем из ссылки протокол и www.:
document.addEventListener('load', ()=>{
const links = document.querySelectorAll(".yuRUbf>a");
for (const link of links){
const {href} = link;
const fixedHref = href.replace(/https?:\/\/(www\.)?/i, "")
}
})
5. СОздаем новую ссылку задаем ей текст, target и href, помещаем сразу за текущей ссылкой. (можешь потом в любое место на странице поместить)
document.addEventListener('load', ()=>{
const links = document.querySelectorAll(".yuRUbf>a");
for (const link of links){
const {href} = link;
const fixedHref = href.replace(/https?:\/\/(www\.)?/i, "")
const newLink = document.createElement(a);
newLink.textContent = "Открыть закешированную версию";
newLink.target = "_blank"; //Что бы открывалось в новой вкладке по умолчанию
newLink.href= `https://www.google.com/search?q=cache:${fixedHref}`.
link.parentElement.insertBefore(newLink, link.nextSibling)
}
})


Я еще не отработал кейс, когда страницы уже загружена. Можешь сам погуглить и написать код, там не сложно.
Аноним 02/10/21 Суб 17:03:12 25542571682
image.png 66Кб, 828x571
828x571
>>255424838
Исправил код, т.к. там были синтаксические ошибки.
В конце должно получится так:

document.addEventListener('load', ()=>{
const links = document.querySelectorAll(".yuRUbf>a");
for (const link of links){
const {href} = link;
const fixedHref = href.replace(/https?:\/\/(www\.)?/i, "")
const newLink = document.createElement('a');
newLink.textContent = "Открыть закешированную версию";
newLink.target = "_blank"; //Что бы открывалось в новой вкладке по умолчанию
newLink.href= `https://www.google.com/search?q=cache:${fixedHref}`;
link.parentElement.insertBefore(newLink, link.nextSibling)
}
})
Проверил, все работает
Аноним 02/10/21 Суб 17:29:32 25542717683
>>255425716
Ты это куда ввел? В консоль? У меня не работает ни в консоли, ни в violent monkey.
Аноним 02/10/21 Суб 17:29:49 25542719584
.jpg 94Кб, 1297x270
1297x270
Аноним 02/10/21 Суб 17:30:58 25542727385
.jpg 46Кб, 752x302
752x302
Аноним 02/10/21 Суб 17:34:24 25542747686
>>255427176
Ты навешиваешь обработчик на событие load, а оно уже прошло (оно происходит один раз во время загрузки документа).
Я раньше писал, что тебе нужно отработать кейс, когда документ загрузился, а потом уже выполняется скрипт. Этот кейс как раз и подходит под твою проблему. В итоге код должен быть следующим:
const fn = ()=> {
const links = document.querySelectorAll(".yuRUbf>a");
for (const link of links){
const {href} = link;
const fixedHref = href.replace(/https?:\/\/(www\.)?/i, "")
const newLink = document.createElement('a');
newLink.textContent = "Открыть закешированную версию";
newLink.target = "_blank"; //Что бы открывалось в новой вкладке по умолчанию
newLink.href= `https://www.google.com/search?q=cache:${fixedHref}`;
link.parentElement.insertBefore(newLink, link.nextSibling)};
}
document.readyState === 'complete' ? fn() : document.addEventListener('load', fn);
Здесь я вынес основной код в функцию с именем fn. Потом проверяю, загрузился ли документ: если загрузился, то выполняю fn сразу, если нет - жду загрузки и выполняю fn.
Аноним 02/10/21 Суб 17:42:22 25542788787
>>255427476
Не добавляет кнопку:

// ==UserScript==
// @name New script - jsfiddle.net
// @namespace Violentmonkey Scripts
// @grant none
// @version 1.0
// @include *
// @run-at document-end
// @description 10/2/2021, 4:49:29 PM
// ==/UserScript==

const fn = ()=> {
const links = document.querySelectorAll(".yuRUbf>a");
for (const link of links){
const {href} = link;
const fixedHref = href.replace(/https?:\/\/(www\.)?/i, "")
const newLink = document.createElement('a');
newLink.textContent = "Открыть закешированную версию";
newLink.target = "_blank"; //Что бы открывалось в новой вкладке по умолчанию
newLink.href= `https://www.google.com/search?q=cache:${fixedHref}`;
link.parentElement.insertBefore(newLink, link.nextSibling)};
}
document.readyState === 'complete' ? fn() : document.addEventListener('load', fn);
Аноним 02/10/21 Суб 17:43:43 25542796288
>>255427887
а ты уверен, что он вообще запускается?
попробуй создать скрипт с кодом alert(123) и попробуй вставить его на страницу
Аноним 02/10/21 Суб 17:45:05 25542802689
Аноним 02/10/21 Суб 17:47:26 25542816290
>>255427962
Я вставил alert(123) сверху прям в твой скрипт. Алерт работает, но кнопки нет. У тебя не хромоног случаем?
Аноним 02/10/21 Суб 17:49:27 25542825991
>>255428162
хуй его знает. Видимо он как-то мутирует значение document.readyState.
Вижу, что обезьянка поддержкивает запуск после загрузки, поэтому можно вообще убрать событие загрузки и вставить следующий код:
я проверил, в обезьяне работает на chrome 94
// ==UserScript==
// @name New script - google.ru
// @namespace Violentmonkey Scripts
// @match https://www.google.ru/search
// @grant none
// @version 1.0
// @author -
// @description 02.10.2021, 17:46:00
// ==/UserScript==


const links = document.querySelectorAll(".yuRUbf>a");
for (const link of links){
const {href} = link;
const fixedHref = href.replace(/https?:\/\/(www\.)?/i, "")
const newLink = document.createElement('a');
newLink.textContent = "Открыть закешированную версию";
newLink.target = "_blank"; //Что бы открывалось в новой вкладке по умолчанию
newLink.href= `https://www.google.com/search?q=cache:${fixedHref}`;
link.parentElement.insertBefore(newLink, link.nextSibling)};
Аноним 02/10/21 Суб 17:49:59 25542829692
>>255409859 (OP)
> Как поменять местами элементы страницы?
Где и нахуя? Решение такого дрочева может разнится от сайта к сайту, а где-то может быть вообще нереально (в ютубе или вк например)
Аноним 02/10/21 Суб 17:50:57 25542834693
>>255428296
>нереально
Все реально, даже если это SPA.
Аноним 02/10/21 Суб 17:51:47 25542838994
Аноним 02/10/21 Суб 17:53:23 25542848695
>>255428346
Конеш, только ты умолчал что после этого с ним взаимодействовать больше нельзя будет, ну да ладно
Аноним 02/10/21 Суб 17:55:10 25542858196
>>255428486
>взаимодействовать больше нельзя будет
Схуяли? Обработчики событий и обсерверы вместе с элементом переносятся.
Аноним 02/10/21 Суб 18:02:11 25542897297
.jpg 133Кб, 744x746
744x746
>>255428259
Добавил в юблок:
www.google.com##[href^="https://www.google.com/search"]:style(margin-left: 10px)

Красота! Че раньше никто не додумался? В один клик гораздо удобнее.
Аноним 02/10/21 Суб 18:03:22 25542904598
>>255428972
Вы только посмотрите какая красота...
Аноним 02/10/21 Суб 18:04:04 25542908999
>>255428972
Нахуя ты стиль прописываешь через юблок? В самом скрипте пропиши его.
Аноним 02/10/21 Суб 18:05:04 255429158100
>>255429089
Я не умею в скрипте прописывать.
Аноним 02/10/21 Суб 18:07:03 255429265101
>>255429158
// ==UserScript==
// @name New script - google.ru
// @namespace Violentmonkey Scripts
// @match https://www.google.ru/search
// @grant none
// @version 1.0
// @author -
// @description 02.10.2021, 17:46:00
// ==/UserScript==


const links = document.querySelectorAll(".yuRUbf>a");
for (const link of links){
const {href} = link;
const fixedHref = href.replace(/https?:\/\/(www\.)?/i, "")
const newLink = document.createElement('a');
newLink.textContent = "Открыть закешированную версию";
newLink.target = "_blank"; //Что бы открывалось в новой вкладке по умолчанию
newLink.href= `https://www.google.com/search?q=cache:${fixedHref}`;
Object.assign(newLink.style, {marginLeft: "10px"})
link.parentElement.insertBefore(newLink, link.nextSibling)};
Аноним 02/10/21 Суб 18:12:25 255429552102
>>255429265
Работает! Заметил странность (не относится к скрипту). В результатах поиска на первых 4 страницах новый стиль гугла (кнопка с тремя точками "about this result"), а начиная с 5 страницы старая стрелочка с кнопкой Cached, запрос:

https://www.google.com/search?q=adads&ie=utf-8&oe=utf-8&hl=en
Аноним 02/10/21 Суб 18:14:16 255429649103
Как же все просто оказалось. Я уже третий раз тему создаю, и только сейчас нашелся человек, сумевший это сделать.
Аноним 02/10/21 Суб 18:16:43 255429776104
>>255429649
>только сейчас нашелся человек, сумевший это сделать
потому что ты нормально объяснить не можешь че тебе надо.
Ты изначально задал вопрос "Как мне два элемента поменять местами?", а надо было:
"Меня не устраивает что новая ссылка на кеш версию находится в жопе, как её можно поместить куда-нибудь на более видное место?"
Аноним 02/10/21 Суб 18:17:56 255429858105
>>255429776
и сразу надо было написать, что у тебя скрипт запускается через ViolentMonkey, ибо я, имея 3 года опыта в коммерческой разработке нихзуя не понял, что имеется в виду под юсер скриптом.
Аноним 02/10/21 Суб 18:20:19 255430004106
>>255429776
Первые две темы я создавал прям как ты описал, но никто не ответил. Я решил, что это слишком сложно, поэтому создал тему с более общим вопросом, чтобы уже самому ковырять конкретно под мой случай.
>>255429858
>что имеется в виду под юсер скриптом
Братан: https://www.google.com/search?q=userscript&ie=utf-8&oe=utf-8&hl=en
Вроде везде так называют скрипт для обезьяны.
Аноним 02/10/21 Суб 18:21:46 255430092107
>>255430004
>так называют скрипт для обезьяны
так называют скрипт, который будет менять содержимое на веб странице. Скрипт, который ты вставляешь ручками в консоль тоже является юзер скриптом.
Аноним 02/10/21 Суб 18:23:36 255430211108
>>255430092
А форматы у них разные? Для консоли и для обезьяны.
02/10/21 Суб 18:24:03 255430239109
Аноним 02/10/21 Суб 18:24:20 255430259110
>>255430211
Как видишь, да.
>>255427476
через консоль работает, в обезьяне нет.
Аноним 02/10/21 Суб 18:25:45 255430337111
>>255430259
У меня и через консоль не сработал, лиса пред 57.
Аноним 02/10/21 Суб 18:26:33 255430382112
>>255430239
Ты ошибся. Мы тут исправляем ошибки криворуких дизайнеров сайтов.
Аноним 02/10/21 Суб 18:28:33 255430498113
>>255430337
хуй знает, у меня нет лисы на домашнем пк, не могу проверить чому так.
По идее должно работать.
Настройки X
Ответить в тред X
15000
Макс объем: 20Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
X
Ваш шидевор X
Стикеры X
Избранное / Топ тредов