 
			
				01.06.2012, 00:47
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2012 
					
					
					
						Сообщений: 48
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				как встроить скрипт на страницу вк
			 
			
		
		
		
		хочу очистить стену в вк , написал скрипт  который будет имитировать нажатие на кнопку удаления , но не знаю как его засунуть и запустить на своей странице 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				01.06.2012, 00:57
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Матрос 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 04.04.2008 
					
					
					
						Сообщений: 6,246
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 F12 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				02.06.2012, 10:44
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 03.02.2012 
					
					
					
						Сообщений: 67
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		http://habrahabr.ru/post/39214/
эт если через лису сидишь) 
а в опере проще))  в настройках js браузера  укажи путь и всё)  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				02.06.2012, 12:24
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Тлен 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 02.01.2010 
					
					
					
						Сообщений: 6,601
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Самый простой удобный вариант это букмарклет. Делашь закладку с адресом вида  
javascript:(function(){ /*твой код, не забывать ';' ибо в одну строчку*/ }())
 и на нужной странице просто нажимаешь на закладку - код исполнится. Оч удобно если надо быстро что-то поправить под себя на каком-то левом сайте.
 
__ 
До сих пор недоумеваю какого хрена создатили браузеров запретили исполнение javascript : напрямую из строки адреса, оставив только через закладки. Кому он мешал то? Те кто не знали так и не знают. Те кто использовал убогие ссылки вида  
<a href="javascript:...">...</a>
  продолжают их использовать.(и будут продолжать так как в целях совместимости это запретят нескоро) 
Остались только те кто использовал эту возможность для быстрого изменения страницы\тестирования букмарклета. Конечно появились всяческие консоли и прочее, но их надо отдельно запускать, открывать - лишние действия.  
		
	
		
		
		
		
		
			
				__________________ 
				29375, 35 
 
			 
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				02.06.2012, 12:34
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 sinistral 
				
				
				
				
	
 
 
			 | 
			  | 
			
				
				
					Регистрация: 28.03.2011 
					
					
					
						Сообщений: 5,418
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		С букмарклетом могут возникнуть проблемы, если скрипт очень большой. В таком случае его придется подключать динамически. 
Делается это так:
 
(_doc=document).body.appendChild(_doc.createElement("script")).src = "http://путь.ru/к/к/моему/скрипту.js";void 0;
Вводить этот код либо в консоль, либо в букмарклет, как указал  Aetae.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				02.06.2012, 14:56
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2012 
					
					
					
						Сообщений: 48
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		если тупо встроить скрипт и вызвать он не работает , я сделал так 
<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 (читал про него но так и не понял)  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				02.06.2012, 15:10
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 sinistral 
				
				
				
				
	
 
 
			 | 
			  | 
			
				
				
					Регистрация: 28.03.2011 
					
					
					
						Сообщений: 5,418
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от neWjs
			 
		
	 | 
 
	| 
		если тупо встроить скрипт и вызвать он не работает , я сделал так
	 | 
 
	
 
 Хреново. Скрипт может и не загрузиться за 4 секунды. А не выполняется ничего по причине того, что Вы ничего в скрипте и не делаете, только определяете функцию.
 
// окрасивил код на 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
			 
		
	 | 
 
	| 
		кстати зачем нужен void 0 (читал про него но так и не понял)
	 | 
 
	
 
 Если код возвратит значение, то это значение заменит содержимое страницы. Возвращение неопределенного значения (  (function(){})() тоже возвратит undefined) не потянет за собой никаких последствий. Вроде, это сейчас пофиксили, но на всякий случай лучше возвращать undefined из кода.  
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось melky, 02.06.2012 в 15:13.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				02.06.2012, 15:23
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2012 
					
					
					
						Сообщений: 48
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от melky
			 
		
	 | 
 
	
		Хреново. Скрипт может и не загрузиться за 4 секунды. А не выполняется ничего по причине того, что Вы ничего в скрипте и не делаете, только определяете функцию. 
// окрасивил код на 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);
})();
 
 
 
Если код возвратит значение, то это значение заменит содержимое страницы. Возвращение неопределенного значения ( (function(){})() тоже возвратит undefined) не потянет за собой никаких последствий. Вроде, это сейчас пофиксили, но на всякий случай лучше возвращать undefined из кода.
	 | 
 
	
 
 блин а я как то не подумал сделать такую конструкцию function(){})() что бы функцию вызывало после созданий=)  
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				02.06.2012, 17:35
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 без статуса 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.05.2012 
					
					
					
						Сообщений: 8,219
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		neWjs, 
 Открываете страницу в Opere, жмете  сонтрл+U,  
=>  http://uploads.ru/i/8/u/Q/8uQd7.png
Вставляете код - жмете -  Применить изменения (1.5 секунды максимум  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				02.06.2012, 18:52
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Тлен 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 02.01.2010 
					
					
					
						Сообщений: 6,601
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от Deff
			 
		
	 | 
 
	
		neWjs, 
 Открываете страницу в Opere, жмете сонтрл+U,  
=> http://uploads.ru/i/8/u/Q/8uQd7.png 
Вставляете код - жмете - Применить изменения (1.5 секунды максимум
	 | 
 
	
 
 И так каждый раз на протяжении многих лет юзания вконтактика. 
Для того и нужны букмарклеты - нажал и готово. 
А если действие нужно не периодически а всегда - тогда уж юзерскрипт. 
Консоль нужна лишь для единичных случаев.(ну либо по прямому назначению - отладки своего скрипта)
 
Вообще конечно я прям таки оброс букмарклетами всяческими, половину уж не упомню для чего. Надо почистить закладки.))  
		
	
		
		
		
		
		
			
				__________________ 
				29375, 35 
 
			 
		
		
		
		
		
						  
				
				Последний раз редактировалось Aetae, 02.06.2012 в 18:58.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |