2024年4月26日发(作者:)

关于火狐firework屏蔽非80端口含有AJAX页面运行的解决之道。

2008年12月30日 星期二 02:04

今天发现AJAX在本地localhost/下可以正常运行,不管是FF还是IE,

但在localhost:87/这样的非80端口就不能用FF测试。被FF完全禁止

了。提示内容:

此地址使用了一个通常应该用于其他网页浏览的端口。由于安全原因,Firefox

取消了该请求。

找了百度、GOOGLE。终于找到终极解决之道:

-------解除 Firefox 对非标准端口的屏蔽。

假如你在本机运行的地址是:localhost:87/

那么端口是87。

1、现在火狐地址栏上清除网址并输入:“about:config”

2、FF浏览器会出现如下提示:

“这样可能会失去质保!

修改这些高级设置可能会对本应用的稳定性、安全性以及性能造成不良影响。请

仅在您十分清楚的情况下继续操作。”

不要管它,把“下次继续提示”前面的勾去掉。按“确定”。

3、火狐出现一串清单。在空白处点击右键,选择“新建——字符串”。

4、把“de”复制进去,接着FF会要求

你输入一个值,这个值就是刚才记下的端口号87。输入确定。

5、完毕,再运行含有AJAX页面即正常了。如果你的AJAX不能运行,则是AJAX

在非80端口下火狐不支持的原因。

正确有效通用代码如下:

方式1:

var xmlHttp;

function createXMLHttpRequest(){

if(pRequest){

xmlHttp=new XMLHttpRequest();//mozilla浏览器

}else if(XObject){

try{

xmlHttp=new ActiveXObject("P");//IE旧版本

}catch(e){ }

try {

xmlHttp=new ActiveXObject("P");//IE新版本

}catch(e) { }

if(!xmlHttp){

//("不能创建XMLHTTPREQUEST对象!");

return false;

}

}

}

----------------------------------------------------------------

方式2:

var xmlHttp;

function createXMLHttpRequest(){

//监测ie版本

try {

//版本5以上

xmlHttp = new ActiveXObject("P");

} catch (e) {

//如不是,用老版本

try {

//如果是ie

xmlHttp = new ActiveXObject("P");

} catch (E) {

//否则 肯定是ie拉

xmlHttp = false;

}

}

//如果不是ie

if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {

xmlHttp = new XMLHttpRequest();

}

}

附:下面的方法在80端口下火狐可以运行,但在非80端口,FF解除了页面屏

蔽后仍不能运行AJAX,没反应。

function createXMLHttpRequest(){

if (XObject){

xmlHttp = new ActiveXObject("P");

//return xmlHttp;

}else if (pReuqest){

xmlHttp = new XMLHttpRequest();

//return xmlHttp;

}

}