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;
}
}
发布评论