Изменение части кода java функции на открытой странице.
Подскажите пожалуйста, есть открытая страница в коде которой такие строки:
Код:
<form method='get' name='func_menu' class='func_menu'></form> |
Строку именно в тамошнем grup.js - нет. Функцию - да. Браузер работает не с текстом, а javascript потоком.
Ну и можно на стадии загрузки вообще подменить grup.js на отредактированную копию, но это для особых случаев. |
Aetae,
Спасибо! А можно чуть подробнее про подмену... Заранее спасибо. |
Каждый случай рассматривается отдельно. Нюансов куча.
|
А если исправить эту функцию, то как ее запустить чтобы она была применима к открытой странице и у нее был доступ к переменным из других файлов js открытых этой же страницей?
|
Поток js един независимо от кол-ва подключённых js файлов. Если функция объявлена глобально, то её можно просто в лоб перезаписать.
function Func(){/*старый код*/}; Func = function(){/*новый код*/}; Сделать это можно через консоль(ctrl+shift+i / F12), запилив букмарклет или userscript. |
Aetae,
Спасибо!!! Буду пробывать... |
При выполнении в консоли -
function Func(){/*старый код*/}; Func = function(){/*новый код*/}; пишет... "Невозможно присвоение результату функции" А можно в поток записать эту же функцию с изменениями только с другим именем? |
0_о? Это что за браузер?
function Func(){/*старый код*/}; alert(Func.toString()) Func = function(){/*новый код*/}; alert(Func.toString()) |
браузер IE8.
Запускаю код в F12-консоль, всплывает первый алерт (с первоначальной функцией), а второй нет и опять ошибка "Невозможно присвоение результату функции" |
Часовой пояс GMT +3, время: 21:53. |