fanmenglife

近段时间在做手机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可采用此方法便可获取成功。

分类:

技术点:

相关文章:

  • 2021-11-17
  • 2021-05-20
  • 2021-12-13
  • 2021-04-13
  • 2021-10-16
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-12-23
  • 2021-12-03
  • 2021-06-30
  • 2021-09-04
  • 2021-11-03
  • 2022-12-23
相关资源
相似解决方案