2013-06-05 25 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; 
    } 
});