如以下网页原码:
<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文件到硬盘里
<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文件到硬盘里
Function js(scripts)
On Error GoTo 1
If scripts = " " Then Exit Function
Set document = WebBrowser1.document
document.parentWindow.execScript scripts, "javascript "
Exit Function
1
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我忘了,你看看
我现在才知道vb6里面可以远行js,如果远行java是不是一样的
很感谢你的回复
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;
}
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