none
IP-камера и ASP.NET RRS feed

  • Вопрос

  • Уважаемые эксперты, уповаю на ваш опыт!
    есть ip-камера, есть html, в котором она работает

     

     <script language="JavaScript" type="text/javascript">
     
        function initForm() {
            Object1.RemoteHost = "213.142.61.162";
            Object1.RemotePort = "80";
            Object1.ProfileID = "2"; 
            Object1.LiveStreamIn(1); 
        }
    </script>
     
    <body >
    <input type="submit" name="btn" value="Показать" onclick="initForm();" id="btn" />
     
    <div align="center" style="border: dotted 1px green">
    <object classid="clsid:721700FE-7F0E-49C5-BDED-CA92B7CB1245" <br/>codebase="http://213.142.61.162:80/dcsclictrl.cab#version=1.02,2224&#xA;" <br/>id="Object1" width="320" height="240"></object>
    </div>
    </body>
     
    


    НО! сие не хочет работать в ASP.Net (
    т.е. в чистом "asp.net web site" добавляю сей код на страницу "default.aspx".
    итак initForm() по клику вызывается, но не отрабатывает.
    может где что в настройках проекта подкрутить надо?

    и что вобще не так то?

     

    15 сентября 2011 г. 15:53

Ответы

  • итак тема побеждена заменой

    Object1.RemoteHost = "213.142.61.162";

    на

    var Object = document.getElementById("Object1");
    Object.RemoteHost = "213.142.61.162";

    осталось понять суть произошедшего ))

    кто нить подскажет?

    15 сентября 2011 г. 22:45

Все ответы

  • > сие не хочет работать в ASP.Net (

    приведенный фрагмент html-страницы может работать в браузере, но не на сервере в asp.net

    > <object classid="clsid:721700FE-7F0E-49C5-BDED-CA92B7CB1245" <br/>codebase=......></object>

    <br/> не должно быть среди атрибутов object.  

     

     

     

     

    15 сентября 2011 г. 16:11
  • > <br/> не должно быть среди атрибутов object. 

    <br/> внутрь object'a сунул местный редактор, в коде этого естественно нет

    > приведенный фрагмент html-страницы может работать в браузере, но не на сервере в asp.net

    приведенный код лежит в aspx формы, соответственно на его основе генерится htmlка

    на сервере мне от него ничего и не надо, суть что на, сгенеренной в asp.net проекте, странице - камера не пашет.

    если же сделать в блокноте простую хтмлку, то этот код работает.

    КАК запихнуть этот код в aspx, чтоб оно работало?

     

    зы. это все исключительно про IE8

     

    15 сентября 2011 г. 16:27
  • > на, сгенеренной в asp.net проекте, странице - камера не пашет. если же сделать в блокноте простую хтмлку, то этот код работает.

    скорее всего из-за зон в браузере. страницу, полученная с сервера - одна зона, файл открытый локально в браузере - другая.

    > initForm() по клику вызывается, но не отрабатывает.

    если вам надо просто вызвать функцию, то type="submit" надо заменить на type="button"

    15 сентября 2011 г. 16:52
  • > скорее всего из-за зон в браузере. страницу, полученная с сервера - одна зона, файл открытый локально в браузере - другая.

    зоны ни при чем. htmlка лежит на серваке, рядом с aspx. ip камеры реальный и внешний.

    проект локально в студии2008 (до сервака и ходить не надо) не пашет.

    > если вам надо просто вызвать функцию, то type="submit" надо заменить на type="button"

    ну это, извините, в данном случае, вобще не важно. вплоть до того что вызвать функцию можно и вобще без кнопки. в onload'е тела (body) ;)

    15 сентября 2011 г. 17:51
  • итак тема побеждена заменой

    Object1.RemoteHost = "213.142.61.162";

    на

    var Object = document.getElementById("Object1");
    Object.RemoteHost = "213.142.61.162";

    осталось понять суть произошедшего ))

    кто нить подскажет?

    15 сентября 2011 г. 22:45
  • > ну это, извините, в данном случае, вобще не важно. вплоть до того что вызвать функцию можно и вобще без кнопки. в onload'е тела (body) ;)  
    > добавляю сей код на страницу "default.aspx".
    > в студии2008

    в VS2008 шаблон aspx-файла разве не такой?
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        
        </div>
        </form>
    </body>
    </html>
    
     
     
     
    16 сентября 2011 г. 6:18
  • такой. и что из этого следует?
    16 сентября 2011 г. 8:41
  • var Object = document.getElementById("Object1"); - так вы получили ссылку на объект из dom дерева документа и далее работаете уже с этим объектом, т.е. устанавливаете ему нужные свойства и т.п.

    До этого у вас была просто неизвестно какая локальная переменная Object1, которая не была никак связана с Object1 из документа. И вы для нее просто вводили поля и присваивали им значения. Вот в чем разница.

    Javascript не вводит автоматически переменные с именами, равными id у html объектов. Вам нужно использовать функции вроде getElementById для получаения этих самых html объектов.


    Для связи [mail]
    16 сентября 2011 г. 8:59
    Модератор
  • > на, сгенеренной в asp.net проекте, странице - камера не пашет. если же сделать в блокноте простую хтмлку, то этот код работает.

    покажите html-код, созданный asp.net-приложением. для этого в VS, в asp.net-проекте нажмите F5. откроется браузер. в контекстном меню страницы нажмите View source. откроется текстовый редактор с кодом страницы.

    16 сентября 2011 г. 9:08
  • > До этого у вас была просто неизвестно какая локальная переменная Object1, которая не была никак связана с Object1 из документа. И вы для нее просто вводили поля и присваивали им значения. Вот в чем разница.

    > Javascript не вводит автоматически переменные с именами, равными id у html объектов. Вам нужно использовать функции вроде getElementById для получаения этих самых html объектов.

    КАК это тогда работает в хтмлке (http://okoru.ru/test10.html), набросаной в блокноте?

    16 сентября 2011 г. 9:11
  • Да согласен, в этом случае объект берется по id, но как видите во первых это может не работать, во вторых это отходит от стандартов w3c и скорее всего такое поведение зависит от разработчиков браузере и в новой версии, например, может уже не работать.

    Firebug на это выдает предуреждение: Element referenced by ID/NAME in the global scope. Use W3C standard document.getElementById() instead. И лучше всегда придерживаться стандартов и получать явно ссылку на объект.


    Для связи [mail]
    16 сентября 2011 г. 9:26
    Модератор