最近经常会模拟网页提交返回网页源码,然后获得网页中相应的元素,于是需要常常解析Html中相应的各种元素,网络是个好东西,搜索一番,就找到了
好几个Delphi版本的HtmlParser的类库,试着使用了几个,发现解析起来都不完整,或多或少的回出现一些问题!于是想到了如果界面上有一个浏
览器,我们可以通过WebBrowser的Document接口对网页元素进行操作,很是方便!但是模拟网页提交,界面上是不一定要出现
WebBrowser的,肯定有办法,不通过WebBrowser就直接解析HTML的,那便是我不要WebBrowser这个外壳,只要他里面的
Document文档接口对象就能实现对Html的解析了,查找了一番MSDN,然后Google一下,果然可行,构建方法如下:
//创建
IHTMLDocument2接口
CoCreateInstance(CLASS_HTMLDocument, nil,
CLSCTX_INPROC_SERVER, IID_IHTMLDocument2, FHtmlDoc);
接口创建好了之后就能够对文
档元素进行解析了,很是爽快!
结合了我自己的特有操作,我对Combobox,Table,Frame等一些网页元素做了相应的封装,实现
了一个HTMLParser,大致代码如下:
这里只给出声明,代
码请在最后下载
代码
(*
*************************************************** ......
最近经常会模拟网页提交返回网页源码,然后获得网页中相应的元素,于是需要常常解析Html中相应的各种元素,网络是个好东西,搜索一番,就找到了
好几个Delphi版本的HtmlParser的类库,试着使用了几个,发现解析起来都不完整,或多或少的回出现一些问题!于是想到了如果界面上有一个浏
览器,我们可以通过WebBrowser的Document接口对网页元素进行操作,很是方便!但是模拟网页提交,界面上是不一定要出现
WebBrowser的,肯定有办法,不通过WebBrowser就直接解析HTML的,那便是我不要WebBrowser这个外壳,只要他里面的
Document文档接口对象就能实现对Html的解析了,查找了一番MSDN,然后Google一下,果然可行,构建方法如下:
//创建
IHTMLDocument2接口
CoCreateInstance(CLASS_HTMLDocument, nil,
CLSCTX_INPROC_SERVER, IID_IHTMLDocument2, FHtmlDoc);
接口创建好了之后就能够对文
档元素进行解析了,很是爽快!
结合了我自己的特有操作,我对Combobox,Table,Frame等一些网页元素做了相应的封装,实现
了一个HTMLParser,大致代码如下:
这里只给出声明,代
码请在最后下载
代码
(*
*************************************************** ......
今天的话题是如何改进自己网站的界面或提高网站的视觉体验,从而让用户记忆犹新。
我们有三种主要的方法(从难到易):自己动手写脚本;使用类似于jQuery和mooTools的JavaScript框架(可以让编写代码变得更容易些);使用能工作于现有的JavaScript框架下的提前预置好的脚本或那种从头开始开发的创建者。这篇文章适合那些打算提高工作效率或不愿意从头开发脚本的人阅读。
这里收集了10种强大
的且容易上手
的JavaScript特效来改进您的网页站界面,从而得到更多的用户体验。这10种javaScript特效回味你的网站带来意想不到的视觉盛宴,而且安装和使用都比较容易。
您还可以参考以下JavaScript/Ajax相关教程及资源:
《12种Javascript解决常见浏览器兼容问题的方法
》
《300+Jquery, CSS, MooTools 和 JS的导航菜单资源
》
1.GreyBox
GreyBox
允许你以模式窗口
的形式运行其它网站(类似于弹出式窗口,但又不运行新的浏览器窗口).如果你的网站上有一些其他网站的导出链接,但你又不想让你的用户离开你的网站或不想让他们打开另一个浏览器窗口的话,这真的是一个很好的解决方案。使用GreyBox 非常简单 ......
js验证表单大全
1. 长度限制
<script>
function test()
{
if(document.a.b.value.length>50)
{
alert("不能超过50个字符!");
document.a.b.focus();
return false;
}
}
</script>
<form name=a onsubmit="return test()">
<textarea name="b" cols="40" wrap="VIRTUAL" rows="6"></textarea>
<input type="submit" name="Submit" value="check">
</form>
2. 只能是汉字
<input onkeyup="value="/oblog/value.replace(/[^\u4E00-\u9FA5]/g,'')">
3." 只能是英文
<script language=javascript>
function onlyEng()
{
if(!(event.keyCode>=65&&event.keyCode<=90))
event.returnvalue=false;
}
</script>
<input onkeydown="onlyEng();">
4. 只能是数字
<script language=javascript>
function onlyNum()
{
if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)))
//考虑小键盘上的数字键
event.returnvalue=false;
}
</script>
<input onkeydown="onlyNum();"> ......
转化为Boolean类型
所有JavaScript中的值都能隐式的转化为Boolean类型,比如:
0 == false; // true
1 == true; // true
'' == false // true
null == false // true
但是这些值都不是Boolean类型。
因此当我们使用三个等于号进行比较时:
0 === false; // false
1 === true; // false
'' === false // false
null === false // false
现在的问题是如何将其他类型转化为Boolean类型:
!!0 === false; // true
!!1 === true; // true
!!'' === false // true
!!null === false // true
为参数赋初值
JavaScript中没有重载的概念,但是JavaScript中函数的参数都是可选的,如果调用时少写了一个参数,将会被undefined
所代替。
function plus(base, added) {
return base + added;
}
plus(2); // NaN
在这个例子中, ......
JavaScript实现页面跳出框架有多种方式,下面是介绍三种简单实现的方法。
方法一:window.open( "要跳转的URL", "_top");
方法二:parent.location.href = "要跳转的URL";
方法三:top.location.href = "要跳转的URL"; ......
var a = document.getElementById("left");
var b = document.getElementById("right");
if(a.scrollHeight < b.scrollHeight)
{
a.style.height = b.scrollHeight+”px”;
}
else
{
b.style.height = a.scrollHeight+”px”;
} ......