解决手机Windows Mobile系统无法获取DRM License问题

近段时间在做手机WAP视频项目时,用户下载DRM加密视频时需要进行License预发放,发现DRM License无法获取成功。

页面获取License代码如下:

License获取object:

 
   
< object  name ="netobj"  classid ="clsid:A9FC132B-096D-460B-B7D5-1DB0FAE0C062"  id ="netobj"  width ="0" ></ object >
 
Javascript代码:
 
 
   
 1  < script type = ' text/javascript ' >
 2       try
 3      {
 4          netobj.GetLicenseFromURL ( '' ' " + url + " ' );
 5          alert( ' 获取License成功! ' ); " );
 6      } 
 7      catch (e) 
 8      {
 9          alert('无法获取许可证:: ' + e.name + '. Error message: ' + e.message); 
10      }
11  </script>
 
以上代码在PC机上可以获取License,但是一到手机上运行便怎么也无法获取,后来将代码改造了一下:
HTML代码:
 
 
   
<% =  printObject()  %>
 
在ASPX页面上只加上了这一句,在后台CS文件中添加了该方法:
 
 
   
 1  public   string  printObject()
 2  {
 3       // 获取License页面地址
 4       string  url  =   " http://192.168.1.5:8009/IssueLicense.aspx "   +  para;
 5 
 6      Response.Write( " <OBJECT name='netobj' classid='clsid:A9FC132B-096D-460B-B7D5-1DB0FAE0C062' height='0' id='netobj' width='0' /></OBJECT> " );
 7      Response.Write( " <script type='text/javascript'> " );
 8      Response.Write( " try{ " );
 9      Response.Write( " netobj.GetLicenseFromURL ('', ' "   +  url  +   " '); " );
10      Response.Write( " alert('获取License成功!'); " );
11      Response.Write( " } catch (e) {alert('无法获取许可证:: ' + e.name + '. Error message: ' + e.message); } " );
12      Response.Write( " </script> " );
13       return   "" ;
14  }
 
采用以上写法,在PC上以及手机上都可以成功获取License。
但是原因未明,唯一的解释便是在手机上需要用Response.Write的方法将object代码写到页面,该object才生效。
大家以后如果做手机视频网站时需要预发放License可采用此方法便可获取成功。

你可能感兴趣的:(Windows Mobile)