如以下网页原码:
<div id="snapshot_icon">
<div class="right_text"><a href="javascript:SnapshotWin()">Snapshot</a></div>
<a href="javascript:SnapshotWin()">
<img class="left_img" alt="snapshot" src="pic/snapshot2.gif">
</a>
</div>SnapshotWin()代码:
function SnapshotWin()
{
MM_openBrWindow('snapshot.html','JPEGsnapshot','width=' + (Width + ss_width_offset) + ',height=' + (Height + ss_height_offset));
}
点击Snapshot时,出现一个新的html文件,请问在vb中如何实现点击动作,并保存新的html文件到硬盘里

解决方案 »

  1.   

    VB: 
    Function   js(scripts) 
            On   Error   GoTo   1 
            If   scripts   =   " "   Then   Exit   Function 
    Set   document   =   WebBrowser1.document 
            document.parentWindow.execScript   scripts,   "javascript " 
            Exit   Function 

            MsgBox   "运行js脚本时发生错误! " 
    End   Function javascript: 
    function   findNode(findString,obj){ 
    var   findId=true; 
    var   findStrings=findString.split( '; '); 
    for(var   i=0;i <obj.childNodes.length;i++){ 
    findId=true; 
    if(obj.childNodes.length> 0){ 
    var   objs=findNode(findString,obj.childNodes[i]); 
    if(objs!=null)return   objs; 

    for(var   k=0;k <findStrings.length;k++){ 
    var   temp=findStrings[k].split( '= '); 
    eval( "var   temp2=obj.childNodes[i]. "+temp[0]) 
    if(temp2!=temp[1]){ 
    findId=false; 
    break; 


    if(findId){ 
    return   obj.childNodes[i]; 


    return   null; 

    例: <a   href= "javascript:SnapshotWin() "> Snapshot </a> 
    js   "findNode( 'nodeName=A;#text=Snapshot;href=javascript:SnapshotWin() ',document.documentElement).click() " 注:如你打不的不是你的网站页面,可以用VB的JS函数先执行一下我写的这个javascript:findNode函数如:js   "function   findNode(findString,obj){.... " 
    上面findNode函数要去掉换行符,这里是为了直观才加上的换行符
    #text还是#TEXT我忘了,你看看
      

  2.   

    对不起,兄弟,我对js不是很了解,你能加注解吗?
    我现在才知道vb6里面可以远行js,如果远行java是不是一样的
      

  3.   

    javascript是写在程序的类模块里还是写在程序外,然后在程序里调用
    很感谢你的回复
      

  4.   

    javascript:   
    function       findNode(findString,obj){  // findString 节点信息,obj网页的首节点
    var       findId=true;   
    var       findStrings=findString.split(   ';   ');   
    for(var       i=0;i   <obj.childNodes.length;i++){   
    findId=true;   
    if(obj.childNodes.length>   0){   
    var       objs=findNode(findString,obj.childNodes[i]);    // findString 节点信息,obj.childNodes[i]当前节点的下一个子节点,完成网页节点的遍历
    if(objs!=null)return       objs;   
    }   
    for(var       k=0;k   <findStrings.length;k++){   
    var       temp=findStrings[k].split(   '=   ');   
    eval(   "var       temp2=obj.childNodes[i].   "+temp[0])   
    if(temp2!=temp[1]){   // 判断本节点的节点信息是不是和给出的第k节点信息个一至,有一个不一至就跳出
    findId=false;   
    break;   
    }   
    }   
    if(findId){   
    return       obj.childNodes[i];   //所有节点信息都一至,就反回本节点对象
    }   
    }   
    return       null;   
      

  5.   

    除了用js,不能只用vb实现此功能吗?就象vb可以点击网页上有"name"按钮一样
      

  6.   

    function  findNode(findString,obj)
    Dim  findId,findStrings,i,k,objs,temp
    findId=true 
    findStrings=Split(findString,";",-1,1)
    for i=0 To obj.childNodes.length
    findId=true 
    If obj.childNodes.length > 0 Then   
    Set objs=findNode(findString,obj.childNodes(i))  
    If Not  objs Is Nothing Then
    Set findNode=objs 
    Exit Function
    End If 
    End If  
    For k=0 to UBound(findStrings)
    temp=Split(findStrings(k),"=",-1,1)
    If Not eval("obj.childNodes(" & i & ")." & temp(0)) = temp(1) Then 
    findId=false
    Exit For 
    End If 
    Next
    If findId Then 
    Set findNode = obj.childNodes(i)
    Set findNode = Nothing
    Exit Function
    End If  
    Next
    Set findNode = Nothing
    Exit Function
    End function