onmouseover="this.src='/test/gsfx_corpflyoutad_btn_close_hover.png';"上面可以用setAttribute修改内容,但是不知道为什么使用getAttribute却得不到字符串,而是得到了dispatch,
并且我不知道如何使用这个dispatch,我查询了ihtmlelement无效,domNode也无效。谢谢回答

解决方案 »

  1.   

    onmouseover是网页元素,我想要用vc来修改,替换他的内容。
      

  2.   

    我使用的是chtmlview,
    我的目的就是获取“this.src='/test/gsfx_corpflyoutad_btn_close_hover.png';"这段文字,
    没试过用js获取,然后和mfc互相传递,不过我想这个应该比字符串查找要麻烦吧,我现在暂时使用字符串查找的方式来解决的,就是想知道,有没有直接的接口能够获得这部分内容。比如img的链接可以用get_images接口获得一样。
      

  3.   

    字符串截取???CString::Find()/Mid()????
      

  4.   

    嗯,是的,不过我喜欢用STL 的string类,比CString方便些。
      

  5.   

    getAttribute可以的,你再check一下你的代码
      

  6.   

    你说getAttribute 可以指的是,获取src吗?对于src属性没问题,下面的代码可以获得_variant_t vTmp;
    if ( S_OK != pEle->getAttribute(TEXT("src"),0,vTmp.GetAddress()) )
    {
    AfxMessageBox(TEXT("getAttribute failed"));
    return 1;
    }
    下面是我想获取的img对象,我想要获取并修改onmouseover="this.src"这部分。<img src="/library/images/support/en-us/gsfx_corpflyoutad_btn_close.png" alt=""
    onmouseover="this.src='/library/images/support/en-us/gsfx_corpflyoutad_btn_close_hover.png';" onmouseout="this.src='/library/images/support/en-us/gsfx_corpflyoutad_btn_close.png';"
    onmousedown="this.src='/library/images/support/en-us/gsfx_corpflyoutad_btn_close_hover.png';" /> 对于onmouseXXX是无法通过getAttribute获取到的。如果你试验成功,能麻烦讲详细点吗,谢谢。
      

  7.   

    试试 IDispatch的toString方法。
      

  8.   

    getAttribute应该可以啊~
    可以取到src,但不能取onmouseover,很奇怪啊,难道因为这个属性关联的一个事件,所以不当成属性来处理?
    楼主可以这样做先IHTMLElement::get_outerHTML(BSTR *p),再从这个BSTR中分析onmouseover段
      

  9.   

    呵呵,我目前就是这么做的,不过有衍生出来另一个问题,当我put_outerHTML的时候,IMG对象本身的src属性的值被修改了,前面加上了绝对路径类似http://www.sss.com/。 这样的。
    我在这里针对put_outerHTML做了提问
    http://topic.csdn.net/u/20100607/14/6c54e30e-aabe-4adf-97ff-296d43571901.html
      

  10.   

    有一点忘了说了,就是我在put_outerHTML之后,想再次用put_src在修改为我想要的值,没效果。
      

  11.   

    请教leechiyang你说的
    试试 IDispatch的toString方法。我没有找到这个方法的说明,不知道是不是我找的地方不对,下面是在msdn中找到的
    http://msdn.microsoft.com/en-us/library/ms221608(VS.90).aspx麻烦你说的清晰一点好吗。谢谢了
      

  12.   

    MSHTMLXXX接口的toString都没有用,得到的就是形如"xxx object"的字符串