2013-06-05 30 views
0

我想在apex頁面設置jquery文件上傳(http://blueimp.github.io/jQuery-File-Upload/),所以我可以同時上傳多個圖像到s3。它在Chrome/Firefox/IE9上完美工作,但我在IE10中提交問題。如果我把這個插件與apex放在一起,就會出現問題:tabpanel如果表單位於tabpanel內,或者tabpanel之外,Tabpanel之外,如果tabpanel存在於同一個頁面中,則不提交。如果我通過xhr調試引發錯誤,說「訪問被拒絕」。我不確定我做錯了什麼。salesforce:頂點jquery文件上傳:tabpanel

$ j.support.cross = true; 。 附加$ J( '#文件上傳')文件上傳({ 網址:myurl })

+0

研究和挖掘到代碼後,我發現每當你新的了XMLHttpRequest銷售人員AJAX工具在IE創建ActiveX對象,我不知道這是錯誤的Salesforce的。我需要創建XMLHttpRequest以便使用交叉上傳圖像到S3 – powerfade917

回答

0

對於IE 10,Salesforce的Ajax工具劫持XMLHttpResponse而不檢查如果IE支持XHR這就是爲什麼它是不能夠使用jQuery文件上傳上傳文件。(被劫持XMLHttpResponse變成舊的ActiveXObject。這是爲什麼它被劫持。

XMLHttpRequest=function(){ 
    if(!_SARISSA_XMLHTTP_PROGID){_SARISSA_XMLHTTP_PROGID=Sarissa.pickRecentProgID(["Msxml2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"]);} 

所以我不得不把它找回來原來的XMLHttpRequest保存它薩里沙長槍對象。好的是原始請求被保存了n sarrissa對象。但我不知道他們爲什麼需要這樣做。

$j.ajaxSetup({ 
    xhr: function() { 
    var req; 
    req = Sarissa.originalXMLHttpRequest(); 
    return req; 
    } 
});