Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Запуск скрипта с адресной строки (https://javascript.ru/forum/events/22848-zapusk-skripta-s-adresnojj-stroki.html)

olga153b 03.11.2011 02:35

Запуск скрипта с адресной строки
 
Доброе время суток.

Написал небольшой спам-скриптик:

var actions=document.getElementById('friends_list').getElementsByClassName('actions'),i=0;
setInterval(function(){
    var as=actions[i].innerHTML.split('write');
    if(as.length>1){
	as=as[1].split('"');
	showBox('al_mail.php', {act: 'write_box', to: as[0]}, {params: {width: 450}, stat: ['page.js', 'mail.css'], cache: 1}, event);
	var z=Math.ceil(Math.random()),dot='!';
    	if(z%2==1)dot+='!';
    	if(z%3==1)dot+='!!';
    	if(z%4==1)dot+='!!!';
    	setTimeout(function(){
            document.getElementById('write_box_text').innerHTML='Привет!\nПривет!'+dot;
            var box=document.getElementById('box_layer').getElementsByClassName('box_controls_wrap');
            var button=box[0].getElementsByTagName('button');
            button[0].click();
            alert('done');
        },2000);
    }
    else alert(i);
    i++;
},5000);


Запускаю его так: беру любой элемент и в фаербаге добавляю элементу атрибут onclick="" и туда вставляю весь этот кусок кода. Потом просто кликаю на этом элементе и все начинает работать.

Но мне нужно запустить этот кусок кода с адресной строки. Если я пишу javscript:кусок кода, то меня редиректит на новую страницу, а в адресной строке все пробелы заменяются на %20.

Скажите, что я делаю не так и как добиться выполнения этого скрипта из адрессной строки?

Заранее спасибо за ответы!

P.S. пробовал убрать все переводы строки и переводы каретки, но пробел между "var" и переменной все равно то остаются...

trikadin 03.11.2011 02:48

В случае, если выражение в адресной строке возвращает не undefined, то произойдёт редирект на строковый результат выражения.

Проще говоря, после вашего скрипта, через точку с запятой, допишите undefined.

P. S. Firefox, начиная, по-моему, с шестой версии, не поддерживает запуск кода из адресной строки. Чтобы запустить код, нажмите Ctrl+Shift+K и вставьте код туда. Энтер. :)

P. P. S. Какие, однако, у людей вопросы интересные возникают в пол третьего ночи))

Почемучкин 05.11.2011 18:49

Это называется bookmarklet, favlet или закладурка
Я сейчас тоже пишу букмарклет :) И вообще уже много их сделал.

Вот пример работающего букмарклета (перевод текущей страницы с английского на русский в новом окне):
javascript:open('http://translate.google.com/translate?langpair=en|ru&hl=en&ie=UTF8&u='+encodeURIComponent(location))();

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

tempster 24.09.2012 11:34

Цитата:

Сообщение от trikadin (Сообщение 134192)
Проще говоря, после вашего скрипта, через точку с запятой, допишите undefined.

P. S. Firefox, начиная, по-моему, с шестой версии, не поддерживает запуск кода из адресной строки. Чтобы запустить код, нажмите Ctrl+Shift+K и вставьте код туда. Энтер. :)

P. P. S. Какие, однако, у людей вопросы интересные возникают в пол третьего ночи))

Вот дружище спасибо! Одно слово в конце, а как помогло!:yes:


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