0

我在加载脚本和自动播放来自 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" /> 
4

1 回答 1

1

你的 C# 代码很好。

但是,您的 HTML 代码已损坏。只需将其保存到某个 Web 服务器上的 HTML 页面(您的本地 IIS 就可以了),然后使用您的 windows phone 的内置 Internet Explorer 导航到那里 - 您只会看到一个白屏。

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

于 2013-09-13T01:34:21.113 回答