MS Ajax и сторонние скрипты

Интеграция различных скриптов на страницу, где используется MS Ajax - задача нередкая, но единого решения для неё не существует. Я поделюсь с вами некоторыми методами, которые помогут интегрировать срипт в вашу страницу.

<li>

Никогда не подключайте скрипты с помощью тега <font size="2" color="#0000ff"><font size="2" color="#0000ff"><</font></font><font size="2" color="#a31515"><font size="2" color="#a31515">script</font></font><font size="2"> </font><font size="2" color="#ff0000"><font size="2" color="#ff0000">src</font></font><font size="2" color="#0000ff"><font size="2" color="#0000ff">="..."></</font></font><font size="2" color="#a31515"><font size="2" color="#a31515">script</font></font><font size="2" color="#0000ff"><font size="2" color="#0000ff">></font></font>. Вместо этого следует использовать копмонени ScriptManager либо ScriptManagerProxy. 

</li>
<li>

Что бы не говорили разработчики MS Ajax и AjaxControlToolkit, в конец каждого файла со скриптом следует добавить такой код:<br />
<font size="2" color="#0000ff"><font size="2" color="#0000ff">if</font></font><font size="2"> (</font><font size="2" color="#0000ff"><font size="2" color="#0000ff">typeof</font></font><font size="2">(Sys) !== </font><font size="2" color="#a31515"><font size="2" color="#a31515">'undefined'</font></font><font size="2">) Sys.Application.notifyScriptLoaded();<br />
</font>Данный код указывает на то, что скрипт полностью загрущился и можно его выполнять. 

</li>
<li>

Если скрипт необходимо подгружать только в определённых ситуациях (например, добавление нового компонента на форму), то его следует регистрировать с помощью статических методов класса ScriptManager вида RegisterClientScriptXXX(). 

</li>
<li>

Для выполнения скрипта после загрузки на страницу есть несколько методов: <br />
1) использовать клиентское событие EndRequest;<br />
2) создать функцию с именем pageLoad() - метод аналогичен первому;<br />
3) если скрипт необходимо зарегистрировать с помощью серверного кода, то используйте метод <font size="2" color="#2b91af"><font size="2" color="#2b91af">ScriptManager</font></font><font size="2">.RegisterStartupScript().</font> 

</li>

Эти методы не являются панацеей от всех бед, но помогают экономить часть времени, необходимого на интеграцию скриптов. Иногда хватает только этого, иногда приходится часами отлаживать чужой javascript, но знать о них, как я думаю, должен каждый разработчик, использующий MS Ajax.

Tags

.net .net-framework .net-framework-3.5 agile ajax ajax-control-toolkit ampq ansible apache asp.net asp.net-mvc automation axum babel bash benchmark blog blog-engine bootstrap buildout c# cache centos chrome ci cinder ckan cli cloud code-review codeplex community config debugger deface dependencies development-environment devices devstack devtime disks django dlr dns docker dockerimage dos easy_install elmah encoding environment-variables error event events everything-as-a-code exception exceptions fabrik firefox flask foreach forms fstab gae gcc gerrit git github go google google-app-engine grep hack hacked hardware headless horizon hound html hugo iaas ienumerable iis internet iptables iron-python ironic iscsi java-script javascript jenkins jquery js jsx kharkivpy kiss kombu kvm kyiv lettuce libvirt linux lio loci logging loopback losetup lvm mac-os macos mercurial microsoft microsoft-sync-framework mobile mono ms-office msbuild networking news nginx npm npx offtopic oop open-source open-xml opensource openstack openvswitch os packages paraller-development patterns-practices performance php pika pip plugins pnp podcast popup postgresql profiler project protocols proxy pycamp pycharm pycon pykyiv pylint pypi python python-3 qcow quantum qumy rabbitmq rar react reactjs refactoring rfc rhel search-engine security selenium server shell silverlight socket software-engineering source-control sourcegear-vault sources sql sql-server sql-server-express sqlalchemy ssh static-site sublimetext svg tests tgt tipfy tornado typescript uapycon ui uneta unit-tests upgrades usability vim virtualenv visual-studio vitrage vm vue.js vuejs web-development web-server web-service web_root webpack webroot windows windows-live word-press x32 x64 xcode xml xss xvfb интернет-магазин книги


Archives

2019 (73)
2018 (2)
2017 (3)
2016 (2)
2015 (3)
2014 (5)
2013 (17)
2012 (22)
2011 (35)
2010 (25)
2009 (35)
2008 (32)
2007 (2)