我的程序是使用javascript在网页中获取员工详细信息。这在IE5,6,8中成功运行。但没有工作Mozilla Firefox。请帮帮我......
提前致谢
我的源代码是:
<script type="text/javascript">
<!--
var adOpenDynamic = 2;
var adLockOptimistic = 3;
/* Path of database.
*/
var strDbPath = "..\\SRVGdb.mdb";
/*
Here is the ConnectionString for Microsoft Access.
If you want to use SQL or other databases, you hav to change the connection string..
eg: SQL => var conn_str = "Provider=sqloledb; Data Source=itdev; Initial Catalog=pubs; User ID=sa;Password=yourpassword";
*/
var conn_str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strDbPath;
function getAdoDb(strAdoType){
if (window.ActiveXObject){
return new ActiveXObject(strAdoType);
}
else{
return ActiveXObject(strAdoType);
}
}
function showReports(){
try{
var tablevar="<table width=\"100%\" border=\"1\">"
+" <tr><td></td>"
+" </tr>";
//Database Connection
var conn = getAdoDb("ADODB.Connection");
conn.open(conn_str, "", "");
//Recordset
var rs = new ActiveXObject("ADODB.Recordset");
strQuery = "SELECT * FROM GuestBook";
rs.open(strQuery, conn, adOpenDynamic, adLockOptimistic);
if(!rs.bof){
rs.MoveFirst();
while(!rs.eof) {
if(document.layers){
document.getElementById("one").open();
document.getElementById("one").close();
}
else{
tablevar+=" <tr>"
+" <td>"+"Sur Name: <br> Fore Name: <br> Home Address: <br> PinCode: <br> Contact Number: <br> E-mail: <br> Date of Birth: <br> Nationality: <br> University: <br> Available Timings: <br> Interested Courses: <br> Other Courses: <br> Expected Money: <br> Any More Information: <br> "+"</td>"
+" <td>"+rs.fields(0).value+"<br>"+rs.fields(1).value+"<br>"+rs.fields(2).value+"<br>"+rs.fields(3).value+"<br>"+rs.fields(4).value+"<br>"+rs.fields(5).value+"<br>"+rs.fields(6).value+"<br>"+rs.fields(7).value+"<br>"+rs.fields(8).value+"<br>"+rs.fields(9).value+"<br>"+rs.fields(10).value+"<br>"+rs.fields(11).value+"<br>"+rs.fields(12).value+"<br>"+rs.fields(13).value+"<br></td>"
+" </tr>";
document.getElementById("one").innerHTML=tablevar;
}
rs.MoveNext();
}
}
else{
if(document.layers){
document.getElementById("one").open();
document.getElementById("one").close();
}
else{
document.all("one").innerHTML="No Records To Display.";
}
//No Records.
}
conn.close();
tablevar+= "</table>";
}catch(ex){
alert(ex.message);
}
}
//-->
</script>
答案 0 :(得分:1)
ActiveX对象是Internet Explorer专有的。您必须找到等效对象才能在其他浏览器中执行相同的功能(如果有的话)。你必须展示你正在做的事情,以便更具体地了解如何让它发挥作用。
答案 1 :(得分:0)
假设您指的是Ajax,请使用支持XMLHttpRequest
的抽象XHR函数和IE特定的ActiveX对象。
/** XHConn - Simple XMLHTTP Interface - bfults@gmail.com - 2005-04-08 **
** Code licensed under Creative Commons Attribution-ShareAlike License **
** http://creativecommons.org/licenses/by-sa/2.0/ **/
function XHConn()
{
var xmlhttp, bComplete = false;
try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
catch (e) { try { xmlhttp = new XMLHttpRequest(); }
catch (e) { xmlhttp = false; }}}
if (!xmlhttp) return null;
this.connect = function(sURL, sMethod, sVars, fnDone)
{
if (!xmlhttp) return false;
bComplete = false;
sMethod = sMethod.toUpperCase();
try {
if (sMethod == "GET")
{
xmlhttp.open(sMethod, sURL+"?"+sVars, true);
sVars = "";
}
else
{
xmlhttp.open(sMethod, sURL, true);
xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
xmlhttp.setRequestHeader("Content-Type",
"application/x-www-form-urlencoded");
}
xmlhttp.onreadystatechange = function(){
if (xmlhttp.readyState == 4 && !bComplete)
{
bComplete = true;
fnDone(xmlhttp);
}};
xmlhttp.send(sVars);
}
catch(z) { return false; }
return true;
};
return this;
}
/* assuming you already have XHConn.js included in your HTML file */
var myConn = new XHConn();
if (!myConn) alert("XMLHTTP not available. Try a newer/better browser.");
var fnWhenDone = function (oXML) { alert(oXML.responseText); };
myConn.connect("mypage.php", "POST", "foo=bar&baz=qux", fnWhenDone);
答案 2 :(得分:0)
Firefox中没有ActiveX支持,无法连接到Access数据库。这些是Microsoft专有技术。
我不相信还有浏览器端的ODBC支持;关于这一点我可能是错的。