在WP7中的WebBrowser控件中加载HTML脚本和视频播放

时间:2013-09-11 07:04:57

标签: c# javascript html windows-phone-7 browser

我在加载脚本和从youtube,vimeo等自动播放视频时遇到问题。我无法在webbrowser控件中加载以下脚本中的内容。 下面是我的C#代码。

string html = "<!doctype html><html><head><title></title></head><body><div id='_cvp_11293'><span></span></div><script type='text/javascript'>(function(){var a;a=new XMLHttpRequest;a.onreadystatechange=function(){rs=a.readyState;if(4==rs&&200==a.status){var c=JSON.parse(a.responseText),b;for(b in c.payload)if(c.payload.hasOwnProperty(b)){var d=c.payload[b];document.getElementById('_cvp_'+b).innerHTML=d.view}}};a.open('GET','http://media.yesheis.com/multi_player?ids=11293&w=300&h=225&autoplay=1&provider=youtube',!0);a.send()})(window);</script></body></html>";
web.IsScriptEnabled = true;
web.NavigateToString(html); 

XAML:

<phone:WebBrowser HorizontalAlignment="Left" IsScriptEnabled="True" Margin="36,44,0,0" Grid.Row="1" VerticalAlignment="Top" Name="web" Width="350" Height="500" /> 

1 个答案:

答案 0 :(得分:1)

您的C#代码没问题。

但是,您的HTML代码已损坏。 只需将其保存到某个Web服务器上的HTML页面(您的本地IIS会很棒),然后使用Windows Phone的内置Internet Explorer导航 - 您只能看到白屏。

在您的HTML中,有一个JavaScript可以执行跨域XMLHttpRequest。这就是为什么行a.open('GET', 'http://media.yesheis.com/multi_player?ids=11293&w=300&h=225&autoplay=1&provider=youtube', !0);会抛出访问被拒绝的异常。