salesforce:在apex:tabpanel中上传jquery文件

时间:2013-06-05 16:19:42

标签: salesforce

我正在尝试在顶点页面设置jquery文件上传。(http://blueimp.github.io/jQuery-File-Upload/)所以我可以同时上传多个图像到s3。它在chrome / firefox / IE9上完美运行,但我在IE10中提交问题。如果我把这个插件与顶点放在一起,那么问题就出现了:tabpanel如果表单在tabpanel内或tabpanel之外它没关系,如果tabpanel存在于同一页面内,它就不会提交。如果我通过xhr调试抛出错误说“访问被拒绝”。我不确定我做错了什么。

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

1 个答案:

答案 0 :(得分: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"]);}

所以我不得不把它保存在Sarissa对象上的原始XMLHttpRequest。好处是原始请求保存在sarrissa对象上。但是我不确定为什么他们需要这样做。

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