2012-03-15 14 views
0

我對firefox和facebook有很大的問題。 我瘋狂在我的web服務器上使用xmlHttpRequest的應用程序。我將這個應用程序添加到測試facebook頁面上的Facebook標籤。它適用於IE,Chrome,Safari,但不適用於Firefox。使用xmlHttpRequest的Facebook應用程序/頁面選項卡在Firefox中不起作用

該請求只是保持加載,直到超時。

的JS功能,我使用:

function createXmlHttpRequest() { 
try { 
    if (typeof ActiveXObject != 'undefined') { 
    return new ActiveXObject('Microsoft.XMLHTTP'); 
    } else if (window["XMLHttpRequest"]) { 
    return new XMLHttpRequest(); 
    } 
} catch (e) { 
    changeStatus(e); 
} 
return null; 
}; 


function downloadUrl(url, callback) { 
var status = -1; 
var request = createXmlHttpRequest(); 
if (!request) { 
    return false; 
} 

request.onreadystatechange = function() { 
    if (request.readyState == 4) { 
    try { 
     status = request.status; 
    } catch (e) { 

    } 
    if (status == 200) { 
     callback(request.responseXML, request.status); 
     request.onreadystatechange = function() {}; 
    } 
    } 
} 
request.open('GET', url, f); 
try { 
    request.send(null); 
} catch (e) { 
    changeStatus(e); 
} 
}; 

function xmlParse(str) { 
    if (typeof ActiveXObject != 'undefined' && typeof GetObject != 'undefined') { 
    var doc = new ActiveXObject('Microsoft.XMLDOM'); 
    doc.loadXML(str); 
    return doc; 
    } 

    if (typeof DOMParser != 'undefined') { 
    return (new DOMParser()).parseFromString(str, 'text/xml'); 
    } 

    return createElement('div', null); 
} 

function downloadScript(url) { 
    var script = document.createElement('script'); 
    script.src = url; 
    document.body.appendChild(script); 
} 

我把它通過downloadUrl()

從請求的文件頭:

header('Access-Control: allow <*>'); 
header("Access-Control-Allow-Origin: *"); 
header('Access-Control-Allow-Methods: GET'); 
header('Access-Control-Allow-Headers: X-PINGOTHER'); 
header("Content-type: text/xml"); 

我真的什麼都試過,但它不會在Firefox中工作...

我注意到:通過觀察螢火蟲wh ile加載這個應用程序在Facebook的標籤我可以看到,Facebook沒有要求在源中給出的地址,但其他像:https://0-317.channel.facebook.com/pull?channel=p_1495135952&seq=389&partition=7&clientid=420773d2&cb=682&idle=0&state=active

我認爲這肯定是Firefox的跨域策略......但我該如何解決這個問題問題?

任何人都有同樣的問題?

我提前感謝你。

問候

回答

0

好的,發現問題了。 Facebook正在使用UTF-8,但我的頁面不是。於是停在了變音箱裏。 所以它不是所有的請求。

相關問題