2010-09-11 92 views
2

我想在last.fm上做一个包装,并且需要调用页面中的一些javascript函数。特别是停止,跳过,禁止和爱的。.NET WebBrowser控件中的HtmlDocument.InvokeScript问题

InvokeScript似乎可以正常处理页面HTML本身内的任何脚本函数,但不能与从外部脚本文件加载的脚本一起使用。

例如,要跳过功能的实际调用是LFM.Flash.Player.skip(),所以我尝试了以下内容:

_browser.Document.InvokeScript("LFM.Flash.Player.skip"); 

但它所做的只是返回null,什么也没有发生在页。

我已确认该调用至少可以使用Chrome检查器和控制台键入。 (还没有想出是否有一种方法可以在IE中调用任意的javascript ......任何建议都将得到赏识)

是否有某种特殊的方式必须调用该函数?

另外,是的,我已经尝试过,没有括号在脚本调用...仍然没有运气。

编辑:要清楚,我在的WinForms浏览器控件不是在ASP.NET页面这样做。

回答

-1

在调用skip时是否缺少括号?否则,这只是“引用”功能,它不会调用它。

+0

根据MSDN文档,您将参数单独传递给函数,并且InvokeScript的第一个参数是函数名称,而不是要评估的代码。 – Boog 2012-01-05 18:30:02

0

我有同样的问题,并且解决它,我:

  • 确保有通过在外部浏览器
  • IE控件似乎是缓存的页面手动加载网页没有错误控制台/ scripts ==>我发现在实际的IE浏览器中刷新页面也会刷新.NET IE Con​​trol中的页面。您也可以使用调试工具清除缓存。我这样做每一个变化,它的工作原理...

希望这有助于!