как встроить скрипт на страницу вк
хочу очистить стену в вк , написал скрипт который будет имитировать нажатие на кнопку удаления , но не знаю как его засунуть и запустить на своей странице
|
F12
|
http://habrahabr.ru/post/39214/
эт если через лису сидишь) а в опере проще)) в настройках js браузера укажи путь и всё) |
Самый простой удобный вариант это букмарклет. Делашь закладку с адресом вида
javascript:(function(){ /*твой код, не забывать ';' ибо в одну строчку*/ }())и на нужной странице просто нажимаешь на закладку - код исполнится. Оч удобно если надо быстро что-то поправить под себя на каком-то левом сайте. __ До сих пор недоумеваю какого хрена создатили браузеров запретили исполнение javascript: напрямую из строки адреса, оставив только через закладки. Кому он мешал то? Те кто не знали так и не знают. Те кто использовал убогие ссылки вида <a href="javascript:...">...</a>продолжают их использовать.(и будут продолжать так как в целях совместимости это запретят нескоро) Остались только те кто использовал эту возможность для быстрого изменения страницы\тестирования букмарклета. Конечно появились всяческие консоли и прочее, но их надо отдельно запускать, открывать - лишние действия. |
С букмарклетом могут возникнуть проблемы, если скрипт очень большой. В таком случае его придется подключать динамически.
Делается это так: (_doc=document).body.appendChild(_doc.createElement("script")).src = "http://путь.ru/к/к/моему/скрипту.js";void 0; Вводить этот код либо в консоль, либо в букмарклет, как указал Aetae. |
если тупо встроить скрипт и вызвать он не работает , я сделал так
<a href="" onclick="d = document.createElement('script'); d.src='http://cyberua.16mb.com/vk.js'; document.body.appendChild(d); setTimeout('d()',4000);return false;" >go</a> и вот сам код очистки если кому интересно function d(){ console.log("выполняемся=)"); var i,cl, dv,reg,matches,fnc,str,inter; cl = document.getElementsByClassName("delete_post"); i = cl.length; reg = /[a-z|0-9]*\..*\(.*\);/ig; wall.showMore(10); window.scrollBy(0,9999); while (i--){ fnc = cl[i].childNodes[1].onclick+""; matches = fnc.match(reg)[0]; eval(matches); } setTimeout(function(){if(cl[0]){d();window.scrollBy(0,9999);wall.showMore(10);}},5000); } кстати зачем нужен void 0 (читал про него но так и не понял) |
Цитата:
// окрасивил код на jsbeautifier, больше ничего не делал function d() { console.log("выполняемся=)"); var i, cl, dv, reg, matches, fnc, str, inter; cl = document.getElementsByClassName("delete_post"); i = cl.length; reg = /[a-z|0-9]*\..*\(.*\);/ig; wall.showMore(10); window.scrollBy(0, 9999); while (i--) { fnc = cl[i].childNodes[1].onclick + ""; matches = fnc.match(reg)[0]; eval(matches); } wall.showMore(10); setTimeout(function () { if (cl[0]) { d(); window.scrollBy(0, 9999); wall.showMore(10); } }, 5000); } // где вызов то ? Тогда уж надо сразу вызывать функцию - дописать снизу d();, или же попробовать "named function expression" (на английском проще звучит). (function d() { console.log("выполняемся=)"); var i, cl, dv, reg, matches, fnc, str, inter; cl = document.getElementsByClassName("delete_post"); i = cl.length; reg = /[a-z|0-9]*\..*\(.*\);/ig; wall.showMore(10); window.scrollBy(0, 9999); while (i--) { fnc = cl[i].childNodes[1].onclick + ""; matches = fnc.match(reg)[0]; eval(matches); } wall.showMore(10); setTimeout(function () { if (cl[0]) { d(); window.scrollBy(0, 9999); wall.showMore(10); } }, 5000); })(); Цитата:
|
Цитата:
|
neWjs,
Открываете страницу в Opere, жмете сонтрл+U, => http://uploads.ru/i/8/u/Q/8uQd7.png Вставляете код - жмете - Применить изменения (1.5 секунды максимум |
Цитата:
Для того и нужны букмарклеты - нажал и готово. А если действие нужно не периодически а всегда - тогда уж юзерскрипт. Консоль нужна лишь для единичных случаев.(ну либо по прямому назначению - отладки своего скрипта) Вообще конечно я прям таки оброс букмарклетами всяческими, половину уж не упомню для чего. Надо почистить закладки.)) |
Часовой пояс GMT +3, время: 13:26. |