none
webbrowser怎么访问html调用的js文件? RRS feed

  • 问题

  • 用webbrowser控件访问一个<script>xxx.js</script>的页面abc.htm,我需要获得xxx.js的内容中一个object的值.
    假设xxx.js中有一个fuction aaa,然后xxx.js中某个span title = js:aaa(),我想得到这个=后面的值.


    于是我的想法是从abc.htm中获得xxx.js的正确路径,然后用document.getelements的方法去获得http://xxx.js的内容
    但是实际操作下,webbrowser直接访问xxx.js的话会直接提示下载该js文件.

    我换选用inet,虽然可以读到xxx.js的内容,但是据说inet没有类似webbrowser.document.geteliment的函数.
    不知道有没有其他的访问方法?

     

    另外想请教一下,是用ElementsByTagName("span").title取这个值吗?

    2008年12月23日 4:53

答案

  • 对的。需要先执行。

    WebBrowser1.Navigate xxx.js 与浏览器输入js文件是一样的。提示下载是正确的

    你要得到文件内容。可以使用HttpWebRequest。
    2008年12月23日 5:53
    版主

全部回复

  • 你可以使用
    webbrowser.Document.InvokeScript 之类的方法,具体使用可以参考msdn


    使用GetAttribute("title")取值
    2008年12月23日 5:13
    版主
  •  

    我没有办法把webbrowser.document指向xxx.js,

    WebBrowser1.Navigate xxx.js 会提示下载.

    应该是在这个之后才能使用webbrowser.document.invokescript之类的吧,否则对象应该还是之前的html文件吧.

    2008年12月23日 5:51
  • 对的。需要先执行。

    WebBrowser1.Navigate xxx.js 与浏览器输入js文件是一样的。提示下载是正确的

    你要得到文件内容。可以使用HttpWebRequest。
    2008年12月23日 5:53
    版主
  • 非常感谢您的解答.

     

     

    2008年12月23日 6:14
  • 首先 就算你用webbrowser 能够取到xxx.js的内容  也没办法用document.getelement 方法定位到 span title = js:aaa(),

     

    因为xxx.js已经不是html了  本身更没有什么html标记可以get  所以你也不必担心会因为用inet更麻烦

     

    webbrower.document.scripts  似乎可以读取 <script src=> 的javascript内容   你可以试验下

     

    2008年12月23日 6:14