Я думал об использовании Скрипача для следующей цели...
У меня есть основанный на JavaScript сервис, который я хочу продемонстрировать потенциальным клиентам. Чтобы показать им, на что мог быть похожим их веб-сайт, если они устанавливают (т.е. включают), мой сценарий, я хочу настроить Скрипача на своем ПК, так, чтобы при выборке веб-сайта клиента,
<script type="text/JavaScript" src="myscript.js"></script>
строка будет включена в HTML <head>
раздел.
Это может быть легко сделано со Скрипачом? Кто-то мог указать на меня туда, где я могу найти документацию, касающуюся этого, если это?
Спасибо!
----Обновление----
В настоящее время я обратился к использованию BHO для добавления моего сценария к странице. Я использую execScript (), на onDocumentComplete, для выполнения простой части JavaScript, который добавляет .js файл, в котором я нуждаюсь к странице. Но указатели EricLaw и ответ дрожания походят на способ пойти для более полного (и изящный) путем сделать то, в чем я нуждаюсь.
Если кому-то интересно, я мог бы загрузить код BHO здесь.Спасибо!
Если вы используете jQuery, вы можете добавлять js на лету. Я бы, вероятно, подумал, что у вас может быть метод, который будет включать / исключать ваш скрипт на основе некоторого параметра запроса. Вот как вы включаете JS с jQuery
$.getScript('someScript.js',function(){
//Do something here after your script loads
});
Открыть скрипку -> Правила меню -> Настроить правила (или нажмите Ctrl+R)
Открывается файл CustomRule.js. Прокрутите вниз до тех пор, пока не найдете строку
static function OnBeforeResponse(oSession: Session)
Здесь находится ваш код. Здесь вы можете изменить ответ сервера, прежде чем браузер увидит его.
Следующий пример кода показывает, как включить пользовательский кусок кода jQuery, который заменяет ссылку Unanswered в горизонтальном меню ссылкой, которая служит в качестве короткого пути к Unanswered jQuery Questions
Сначала я показываю вам код jQuery, который я хочу включить
<script type='text/javascript'>
$(function() {
var newLink = '<a href="/unanswered/tagged/jquery">Unanswered jQuery</a>';
$('div#hmenus div.nav:first ul li:last a').replaceWith(newLink);
});
</script>
Теперь код скрипки (на основе кода, найденного в CustomRules. js и примеры кода из FiddlerScript CookBook)
//is it a html-response and is it from stackoverflow.com
if (oSession.oResponse.headers.ExistsAndContains("Content-Type", "html") &&
oSession.HostnameIs("stackoverflow.com")) {
// Remove any compression or chunking
oSession.utilDecodeResponse();
var oBody = System.Text.Encoding.UTF8.GetString(oSession.responseBodyBytes);
// Match the jQuery script tag
var oRegEx = /(<script[^>]*jquery.min.js"><\/script>)/gi;
// replace the script tag withitself (no change) + append custom script tag
oBody = oBody.replace(oRegEx, "$1<script type='text/javascript'>$(function() {$('div#hmenus div.nav:first ul li:last a').replaceWith('<a href=\"/unanswered/tagged/jquery\">Unanswered jQuery</a>');})</script>");
// Set the response body to the changed body string
oSession.utilSetResponseBody(oBody);
}
Результат выглядит следующим образом
Модифицированный переполнение стека. com http://img269.imageshack.us/img269/570/clipboard01ym.jpg
Думаю, теперь вы сможете собрать вместе кусок кода, который подходит к вашей проблеме.
Пример
// Match the head end
var oRegEx = /(<\/head>)/gi;
// replace with new script
oBody = oBody.replace(oRegEx, "<script type='text/javascript' src='http://url/myscript.js'></script>$1");