在同一服务器下进行AJAX时,FF和IE处理是一样的,但是涉及到跨域访问时,FF的处理和IE存在不同,FF需要进行一些安全级别的权限设置。
(1)在代码中进行权限设置
注意这段代码必须写在创建之后:
在这里,我把这段安全权限这段代码放在createDeclareXMLHttpRequest()方法中就是错误的,为什么错,还不太清楚。
(2)设置FF权限
这里,执行上述代码基本可以成功,FF会告诉用户需要权限才能继续进行获取信息,所以用户需要手动进行设置权限了:在firefox的地址栏中输入“about:config”,并找到signed.applets.codebase_principal_support,将其设为true。
(1)在代码中进行权限设置
if(window.XMLHttpRequest) {
try
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
}
catch (exception)
{
alert(exception);
}
}
注意这段代码必须写在创建之后:
function createDeclareXMLHttpRequest(){
try{
xmlHttpDeclare=new XMLHttpRequest();
}catch(e){
try{
xmlHttpDeclare = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
alert("你的浏览器不支持XMLHttpRequest");
return;
}
}
}
function declareSend(){
createDeclareXMLHttpRequest();
if(window.XMLHttpRequest) {
try
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
}
catch (exception)
{
alert(exception);
}
}
xmlHttpDeclare.onreadystatechange = declareHandleStateChange;
xmlHttpDeclare.open('POST',url,true);
xmlHttpDeclare.send(null);
}
在这里,我把这段安全权限这段代码放在createDeclareXMLHttpRequest()方法中就是错误的,为什么错,还不太清楚。
(2)设置FF权限
这里,执行上述代码基本可以成功,FF会告诉用户需要权限才能继续进行获取信息,所以用户需要手动进行设置权限了:在firefox的地址栏中输入“about:config”,并找到signed.applets.codebase_principal_support,将其设为true。