日期:2014-05-17  浏览次数:20566 次

怎么将location.hostname,cmdport,dataport,loginuser,loginpass传进去呢?
JScript code

function body_onload()
{
    var count;
            
    var port;
    if (location.port=='')
        port=80;
    else
        port=location.port;
 
     
    cameras.set_params(0,top.alias,location.hostname,cmdport,dataport,loginuser,loginpass);
    cameras.set_params(1,dev2_alias,dev2_host,dev2_cmdport,dev2_dataport,dev2_user,dev2_pwd);
    cameras.set_params(2,dev3_alias,dev3_host,dev3_cmdport,dev3_dataport,dev3_user,dev3_pwd);
    cameras.set_params(3,dev4_alias,dev4_host,dev4_cmdport,dev4_dataport,dev4_user,dev4_pwd);
    cameras.set_params(4,dev5_alias,dev5_host,dev5_cmdport,dev5_dataport,dev5_user,dev5_pwd);
    cameras.set_params(5,dev6_alias,dev6_host,dev6_cmdport,dev6_dataport,dev6_user,dev6_pwd);
    cameras.set_params(6,dev7_alias,dev7_host,dev7_cmdport,dev7_dataport,dev7_user,dev7_pwd);
    cameras.set_params(7,dev8_alias,dev8_host,dev8_cmdport,dev8_dataport,dev8_user,dev8_pwd);
    cameras.set_params(8,dev9_alias,dev9_host,dev9_cmdport,dev9_dataport,dev9_user,dev9_pwd);
                
    for (i=0;i<9;++i)
    { 
        video[i].MonitorStatus  = 0;
        video[i].SetDeviceName(cameras.alias[i]);
        cameras.PresetExcute[i]=true;
      cameras.PresetScript[i] = top.getcookie('PresetScript' + i );
        if (record_osd)
                video[i].RecordOSD=true;
        cameras.pri[i]=PRI_REFUSE;
        cameras.retry_times[i]=0;
        cameras.restart[i]=0;
        cameras.alarm[i]=0;
        cameras.alarm_light[i]=0;
        cameras.width[i]=0;
        cameras.height[i]=0; 
        
        if (cameras.host[i]!='')
        { 
            device_status.src="images/yellow.gif";
            connect_camera(i);
        }
        else
            device_status.src="images/gray.gif";
    }

    nsplit=getcookie("split");
    if(nsplit !=1 && nsplit!=4 && nsplit != 9)
        nsplit=1;    
    x_onclick(nsplit,false);
    cameras.set_count(current,nsplit);
    current=0;
    
    if(cameras.count==1)
        alias_span.innerText = "";
    else
        alias_span.innerText=cameras.alias[0];

    document.getElementById('curpos').innerText = ptz_patrol_up_rate/2;
    
    ipcam_OnFocus(0);
}





<body onLoad="body_onload()" onUnload="body_onunload()" onContextMenu="return false">



在页面加载启动时,有一个body_onload()方法,里面需要输入几个参数值,怎么将location.hostname,cmdport,dataport,loginuser,loginpass传进去呢?从后台查询数据库后传进去。





------解决方案--------------------
可以调用web service 解决。类似

JScript code

   return $.ajax({
        type: "POST",
        url: "***.svc/GetParameters",
        data: '{"aaa" : "bbb"}',   //传给web method的参数,可选
        contentType: "application/json;charset=utf-8",
        dataType: "json",
        async: false,    //同步调用
        success: function (response) {
                    //取得数据
        },
        error: function (response) {
                   //报错。
        }
    });

------解决方案--------------------
另外onload的解释:

The onload event occurs immediately after a page is loaded.

来自:
http://www.w3schools.com/jsref/event_body_onload.asp

这个时候html已经载入完毕,控件应该都有值了,可以把值放在HiddenField控件, 在js中取值。
------解决方案--------------------
我想已经有答案了
------解决方案--------------------
用js post

var strUrl += "?hostname=location.hostname";
strUrl += "&cmdport=cmdport";
strUrl += "&dataport=dataport";
strUrl += "&loginuser=loginuser";
strUrl += "&loginpass=loginpass&q