<script type="text/javascript">
function checknr(url)
{
var xmlHttp=new ActiveXObject('Microsoft.XMLHTTP');
var chkUrl=url;
xmlHttp.open('get', chkUrl, false);
try{xmlHttp.send();}
catch(e){}
var urltitle=bytes2BSTR(xmlHttp.responseBody);
return urltitle;
}
</script>
<Script Language=Vbscript>
Function bytes2BSTR(vIn)
strReturn = ""
dim i
For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Next
bytes2BSTR = strReturn
End Function
</script>window.onload=function(){document.getElementById("nyzt").innerHTML=checknr("xxx.htm")}以上代码在IE下运行正常,但是到了FF下怎么也不显示xxx.htm的内容,急死。
function checknr(url)
{
var xmlHttp=new ActiveXObject('Microsoft.XMLHTTP');
var chkUrl=url;
xmlHttp.open('get', chkUrl, false);
try{xmlHttp.send();}
catch(e){}
var urltitle=bytes2BSTR(xmlHttp.responseBody);
return urltitle;
}
</script>
<Script Language=Vbscript>
Function bytes2BSTR(vIn)
strReturn = ""
dim i
For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Next
bytes2BSTR = strReturn
End Function
</script>window.onload=function(){document.getElementById("nyzt").innerHTML=checknr("xxx.htm")}以上代码在IE下运行正常,但是到了FF下怎么也不显示xxx.htm的内容,急死。
firefox不支持vbscript
//var xmlhttp;
if(window.XmlHttpRequest){
//针对 IE7 8,红火的firefox, 和他的东家mozellar, opera ,手机的safari
xmlhttp=new XMLHttpRequest();
//对某些特定的浏览器byg做的修正
if(xmlhttp.overrideMimeType){
xmlhttp.overrideMimeType("text/xml");
}
}
else if(window.ActiveXObject){
//针对IE 5 IE5.5 IE 6
//两个用来创建XMLHttpRequest对象控件的名称,保存在一个JS数组中
//排在前面的版本较新
var activexName=["MSXML2.XMLHTTP","MICROSOFT.XMLHTTP"];
for(var i=0;i<activexName.length;i++){
try{
//取出一个控件进行创建,如果创建成功就终止循环
//如果创建失败就抛出异常;然后继续循环 尝试创建
xmlhttp=new ActiveXObject(activexName[i]);
break;
}catch(e){
}
}
}
//确认XMLHttpRequest对象是否创建成功
if(!xmlhttp){
alert('创建失败')
}else{
alert(xmlhttp)
}至于你下面的Vbscript,那时微软的私有,火狐不支持。
说到iframe高度自适应,我头几天刚好研究了下这个问题,网上通常都是类似下面的解法:var iframeid = document.getElementById("iframeid" + i); //iframe id
if (document.getElementById) {
if (iframeid && !window.opera) {
if (iframeid.contentDocument && iframeid.contentDocument.body.offsetHeight) {
iframeid.style.height = iframeid.contentDocument.body.offsetHeight + 'px';
}
else
if (iframeid.Document && iframeid.Document.body.scrollHeight) {
iframeid.style.height = iframeid.Document.body.scrollHeight + 'px';
}
}
}
但在我的项目中,总是有时会莫名其妙不能自适应;后来我想了一种方法,就是给iframe引入的页面body底部注入一个标签比如<label>,然后取得该标签的scrollTop,将这个值+20px左右的一个修正值作为iframe的高度;经测试能完全兼容并没有问题,楼主可参考下。