问个很多人都无法解决的问题,如何判断页面加载完毕并统计frames数量
如何能获取到正确的frames数量,用延时的话,如果页面打开非常卡的话,
也会出错
请高手指点一下
using System;--------------------编程问答-------------------- 百度知道有几个FRAMES?
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using mshtml;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
ie.Navigate(@"http://zhidao.baidu.com/");
ie.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(ie_DocumentComplete);
}
private void ie_DocumentComplete(object sender, WebBrowserDocumentCompletedEventArgs e)
{
while (ie.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents(); }
WebBrowser wb = sender as WebBrowser;
HTMLDocument doc = (HTMLDocument)wb.Document.DomDocument;
IHTMLFramesCollection2 frames = doc.parentWindow.frames;
MessageBox.Show(frames.length.ToString());//这里没法统计到正确的frames数量
}
}
}
换个页面试试,http://xxx.com/ --------------------编程问答--------------------
换个页面关键是没法判断FRAME是否加载完毕
我们做网页编程的时候判断一个未知有几个FRAME的页面
不可能都要去数到底有几个frame后再编程
期待高手指导 --------------------编程问答--------------------
你是高手还是低手呢?
我的意思是,百度那个页面异步加载你也拿它没办法,
各个公司的页面技术都不同,百度可以了,到新浪或者又不行了
我建议你先收窄范围,先弄个简单的,OK了,在搞百度,然后再搞其他
WebBrowserReadyState.Complete这个不行,不一定完全不行 --------------------编程问答--------------------
我是低手
期待个好的解决方案
--------------------编程问答-------------------- 原来你还是知道,高手和低手的区别是低手总是在等答案,而不是去换个角度看事情 --------------------编程问答--------------------
倒,期待解决中 --------------------编程问答--------------------
继续等待 高手指导中
补充:.NET技术 , C#