Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вызов функций из клиентского сценария
|
|||
|---|---|---|---|
|
#18+
Добрый день всем! Можно ли вызвать функцию написанную в клиентском сценарии из серверного кода, чтобы её вызов не был обработчиком какого-то события? Заранее большое спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2004, 09:47 |
|
||
|
Вызов функций из клиентского сценария
|
|||
|---|---|---|---|
|
#18+
Библиотека классов .NET Framework Метод Page.RegisterClientScriptBlock Позволяют серверные элементы управления ASP.NET выпускать клиентские блоки сценария вСтраница. [Visual Basic] Public Overridable Sub RegisterClientScriptBlock( _ ByVal key As String, _ ByVal script As String _ ) [C#] public virtual void RegisterClientScriptBlock( string key, string script ); [C++] public: virtual void RegisterClientScriptBlock( String* key, String* script ); [JScript] public function RegisterClientScriptBlock( key : String, script : String ); Параметры клавиша Уникальная клавиша, которая идентифицирует блок сценария. сценарий Контент сценария, который отправляют клиенту. Замечания Клиентский сценарий сгенерирован только после открывающего тэга объекта Page <формируют runat = сервер> элемент. Блок сценария сгенерирован как объект, который выполняется, вывод определен, так что Вы должны включить оба тэга элемента <script>. Идентифицируя сценарий с ключевыми, множественными экземплярами серверного элемента управления может запросить блок сценария без него выпускаемый к выходному потоку дважды. Любые блоки сценария с теми же самыми ключевыми значениями параметра считают дубликатами. Примечание: Не забывают включать тэги комментария HTML вокруг вашего сценария так, чтобы он не был предоставлен, если браузер запроса не будет поддерживать сценарии. Пример [Visual Basic, C#] следующий пример демонстрирует использование метода RegisterClientScriptBlock вместе с методом IsClientScriptBlockRegistered. Если ECMAScript, написанный в блоке кодового объявления не был уже зарегистрирован, как тестировано IsClientScriptBlockRegistered, вызов RegisterClientScriptBlock сделан. [Visual Basic] <html> <head> <script language="VB" runat="server"> Sub Page_Load( sender as Object,e as EventArgs) 'Form the script that is to be registered at client side. Dim scriptString as String = "<script language=JavaScript> function DoClick() {" scriptString += "myForm.show.value='Welcome to Microsoft .NET'}<" scriptString += "/" scriptString += "script>" If(Not IsClientScriptBlockRegistered("clientScript")) RegisterClientScriptBlock("clientScript", scriptString) End If End Sub </script> </head> <body topmargin="20" leftmargin="10"> <form id="myForm" runat="server"> <input type="text" id="show" style="width=200"> <input type="button" value="ClickMe" onclick="DoClick()"> </form> </body> </html> [C#] <html> <head> <script language="C#" runat="server"> public void Page_Load(Object sender, EventArgs e) { // Form the script that is to be registered at client side. String scriptString = "<script language=JavaScript> function DoClick() {"; scriptString += "myForm.show.value='Welcome to Microsoft .NET'}<"; scriptString += "/"; scriptString += "script>"; if(!this.IsClientScriptBlockRegistered("clientScript")) this.RegisterClientScriptBlock("clientScript", scriptString); } </script> </head> <body topmargin="20" leftmargin="10"> <form id="myForm" runat="server"> <input type="text" id="show" style="width=200"> <input type="button" value="ClickMe" onclick="DoClick()"> </form> </body> </html> [C++, JScript] Нет примеров для C++ или JScript. Для просмотра примеров на Visual Basic или C# нажмите на кнопку Языковой фильтр в левом верхнем углу страницы. Требования Платформы: Windows 2000, Windows XP Professional, семейство Windows Server 2003 См. также: Класс Страницы | Члены Страницы | System.Web.UI Namespace | Члены Страницы (Синтаксис Visual J #) | Managed Extensions для программирования на C++ Синтаксис основан на .NET Framework версии 1.1. Документационная версия 1.1.1. -------------------------------------------------------------------------------- Пошлите комментарии, касающиеся данной темы. © Корпорация Microsoft. Все права защищены. Max Pro ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2004, 10:00 |
|
||
|
Вызов функций из клиентского сценария
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2004, 10:03 |
|
||
|
Вызов функций из клиентского сценария
|
|||
|---|---|---|---|
|
#18+
Уважаемый Max Pro! Спасибо большое за ответ! Сейчас сохраню и буду разбираться. Может Вы ещё знаете делается установка ActiveX клиенту? У меня в некоторых .asp файлах вставлен объект SVGView, который нужно устанавливать на клиенте. Как сделать так что если на клиенте SVGView ещё не установлен, то запускалась бы программа установки, которая лежит на сервере, и устанавливала бы SVGView клиенту? Заранее большое спасибо!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2004, 10:13 |
|
||
|
Вызов функций из клиентского сценария
|
|||
|---|---|---|---|
|
#18+
скажем, у яндекса флешка вставляется так(если плеер не установлен, то устанавливается с указанного в codebase адреса): <script language="JavaScript"> var plugin = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]) ? navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin : 0; if(plugin){ plugin=(parseInt(plugin.description.substring(plugin.description.indexOf(".")-1))>=5); } else if((navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0)&&((navigator.userAgent.indexOf("Windows 95")>=0)||(navigator.userAgent.indexOf("Windows 98")>=0)||(navigator.userAgent.indexOf("Windows NT")>=0))){ document.write('<'+'script language="VBScript"'+'>\non error resume next\nplugin=(IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.5")))\n</'+'script'+'>'); } if(plugin){ document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="760" height="90"><param name="movie" value="http://bs.yandex.ru/resource/MTS_k4_760090_B_v1-2_Y_18.swf?link1=http://bs.yandex.ru/count/GNAFF8O7jAi30BjqQ7L1RKYY2Z82ofPR0wff60AkFEq6GdW3?rnd=1098026812"><param name="quality" value="high"><param name="bgcolor" value="#FFFFFF"><embed src="http://bs.yandex.ru/resource/MTS_k4_760090_B_v1-2_Y_18.swf?link1=http://bs.yandex.ru/count/GNAFF8O7jAi30BjqQ7L1RKYY2Z82ofPR0wff60AkFEq6GdW3?rnd=1098026812" quality="high" bgcolor="#FFFFFF" swLiveConnect="false" width="760" height="90" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></embed></object>'); } else { document.write('<a href="http://bs.yandex.ru/count/GNAFF8O7jAi30BjqQ7L1RKYY2Z82ofPR0wff60AkFEq6GdW3?rnd=1098026812" title="МТС" target=_blank><img src="http://bs.yandex.ru/resource/MTS_k4_760090_B_v7-6_Y_02.gif" alt="МТС" width="760" height="90" border="0" /></a>'); } </script><noscript><a href="http://bs.yandex.ru/count/GNAFF8O7jAi30BjqQ7L1RKYY2Z82ofPR0wff60AkFEq6GdW3?rnd=1098026812" title="МТС" target=_blank><img src="http://bs.yandex.ru/resource/MTS_k4_760090_B_v7-6_Y_02.gif" alt="МТС" width="760" height="90" border="0" /></a></noscript> ma X mo ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2004, 23:22 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=32745475&tid=1395038]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 359ms |

| 0 / 0 |
