Запуск скрипта с адресной строки
Доброе время суток.
Написал небольшой спам-скриптик: 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" и переменной все равно то остаются... |
В случае, если выражение в адресной строке возвращает не undefined, то произойдёт редирект на строковый результат выражения.
Проще говоря, после вашего скрипта, через точку с запятой, допишите undefined. P. S. Firefox, начиная, по-моему, с шестой версии, не поддерживает запуск кода из адресной строки. Чтобы запустить код, нажмите Ctrl+Shift+K и вставьте код туда. Энтер. :) P. P. S. Какие, однако, у людей вопросы интересные возникают в пол третьего ночи)) |
Это называется bookmarklet, favlet или закладурка
Я сейчас тоже пишу букмарклет :) И вообще уже много их сделал. Вот пример работающего букмарклета (перевод текущей страницы с английского на русский в новом окне): javascript:open('http://translate.google.com/translate?langpair=en|ru&hl=en&ie=UTF8&u='+encodeURIComponent(location))(); Его нужно скопировать и поместить в закладку (фавориты), в то поле, где пишется адрес вебсайта. После этого можешь нажимать как на обычную закладку и скрипт сработает. |
Цитата:
|
Часовой пояс GMT +3, время: 15:54. |