exception : SCRIPT5022: DOM Exception: INVALID_CHaraCTER_ERR (5)
思路分析:
第一步:兼容IE9,firefox,Opera,Safari等浏览器;
var iframe = document.createElement("iframe");
iframe.setAttribute("id","yui-history-iframe");
iframe.setAttribute("src","../../images/defaults/transparent-pixel.gif");
iframe.setAttribute("style","position:absolute;top:0;left:0;width:1px;height:1px;visibility:hidden;")
第二步:兼容IE6-8:由于ie6-8 不能修改iframe的name属性
var oFrame = isIE ? document.createElement("<iframe name=/"" + this._FrameName + "/">") : document.createElement("iframe");
oFrame.name = "iframName";
1、如何让ajaxfileupload.js支持IE9、IE10?
- @H_502_51@if(window.ActiveXObject){
- @H_502_51@if(jQuery.browser.version=="9.0"||jQuery.browser.version=="10.0"){
- @H_502_51@vario=document.createElement('iframe');
- io.id=frameId;
- io.name=frameId;
- }@H_502_51@else@H_502_51@if(jQuery.browser.version=="6.0"||jQuery.browser.version=="7.0"||jQuery.browser.version=="8.0"){
- @H_502_51@vario=document.createElement('<iframeid="'+frameId+'"name="'+frameId+'"/>');
- @H_502_51@if(@H_502_51@typeofuri=='boolean'){
- io.src='javascript:false';
- }
- @H_502_51@else@H_502_51@if(@H_502_51@typeofuri=='string'){
- io.src=uri;
- }
- }
- }
2、如何让ajaxfileupload.js可以在文件上传的同时传递多个台数。
找到以下代码:
接着找到:
- createUploadForm:@H_502_51@function(id,fileElementId,tag_name,tag_link,tag_sort,tag_status,tag_id)//增加tag_name,tag_id
- {
- //createform
- @H_502_51@varformId='jUploadForm'+id;
- @H_502_51@varfileId='jUploadFile'+id;
- //--增加以下内容
- @H_502_51@vartagNameId='tag_name'+id;
- @H_502_51@vartagLinkId='tag_link'+id;
- @H_502_51@vartagSortId='tag_sort'+id;
- @H_502_51@vartagStatusId='tag_status'+id;
- @H_502_51@vartagIdId='tag_id'+id;
- //--end
- @H_502_51@varform=$('<formaction=""method="POST"name="'+formId+'"id="'+formId+'"enctype="multipart/form-data"></form>');
- @H_502_51@varoldElement=$('#'+fileElementId);
- @H_502_51@varnewElement=$(oldElement).clone();
- //--增加以下内容
- @H_502_51@vartagNameElement='<inputtype="text"name="tag_name"value="'+tag_name+'">';
- @H_502_51@vartagLinkElement='<inputtype="text"name="tag_link"value="'+tag_link+'">';
- @H_502_51@vartagSortElement='<inputtype="text"name="tag_sort"value="'+tag_sort+'">';
- @H_502_51@vartagStatusElement='<inputtype="text"name="tag_status"value="'+tag_status+'">';
- @H_502_51@vartagIdElement='<inputtype="text"name="tag_id"value="'+tag_id+'">';
- //--end
- $(oldElement).attr('id',fileId);
- $(oldElement).before(newElement);
- $(oldElement).appendTo(form);
- //--增加以下的内容
- $(tagNameElement).appendTo(form);
- $(tagLinkElement).appendTo(form);
- $(tagSortElement).appendTo(form);
- $(tagStatusElement).appendTo(form);
- $(tagIdElement).appendTo(form);
- //--end
- //setattributes
- $(form).css('position','absolute');
- $(form).css('top','-1200px');
- $(form).css('left','-1200px');
- $(form).appendTo('body');
- @H_502_51@returnform;
- },
修改完后,如何使用?
OK,done.
附ajaxfileupload完整版:
- jQuery.extend({
- createUploadIframe:@H_502_51@function(id,uri)
- {
- //createframe
- @H_502_51@varframeId='jUploadFrame'+id;
- @H_502_51@if(window.ActiveXObject){
- //vario=document.createElement('<iframeid="'+frameId+'"name="'+frameId+'"/>');
- //if(typeofuri=='boolean'){
- //io.src='javascript:false';
- //}
- //elseif(typeofuri=='string'){
- //io.src=uri;
- //}
- //fixie9andie10-------------
- @H_502_51@if(jQuery.browser.version=="9.0"||jQuery.browser.version=="10.0"){
- @H_502_51@vario=document.createElement('iframe');
- io.id=frameId;
- io.name=frameId;
- }@H_502_51@else@H_502_51@if(jQuery.browser.version=="6.0"||jQuery.browser.version=="7.0"||jQuery.browser.version=="8.0"){
- @H_502_51@vario=document.createElement('<iframeid="'+frameId+'"name="'+frameId+'"/>');
- @H_502_51@if(@H_502_51@typeofuri=='boolean'){
- io.src='javascript:false';
- }
- @H_502_51@else@H_502_51@if(@H_502_51@typeofuri=='string'){
- io.src=uri;
- }
- }
- }
- @H_502_51@else{
- @H_502_51@vario=document.createElement('iframe');
- io.id=frameId;
- io.name=frameId;
- }
- io.style.position='absolute';
- io.style.top='-1000px';
- io.style.left='-1000px';
- document.body.appendChild(io);
- @H_502_51@returnio
- },
- createUploadForm:@H_502_51@function(id,tag_id)
- {
- //createform
- @H_502_51@varformId='jUploadForm'+id;
- @H_502_51@varfileId='jUploadFile'+id;
- //--
- @H_502_51@vartagNameId='tag_name'+id;
- @H_502_51@vartagLinkId='tag_link'+id;
- @H_502_51@vartagSortId='tag_sort'+id;
- @H_502_51@vartagStatusId='tag_status'+id;
- @H_502_51@vartagIdId='tag_id'+id;
- //--end
- @H_502_51@varform=$('<formaction=""method="POST"name="'+formId+'"id="'+formId+'"enctype="multipart/form-data"></form>');
- @H_502_51@varoldElement=$('#'+fileElementId);
- @H_502_51@varnewElement=$(oldElement).clone();
- //--
- @H_502_51@vartagNameElement='<inputtype="text"name="tag_name"value="'+tag_name+'">';
- @H_502_51@vartagLinkElement='<inputtype="text"name="tag_link"value="'+tag_link+'">';
- @H_502_51@vartagSortElement='<inputtype="text"name="tag_sort"value="'+tag_sort+'">';
- @H_502_51@vartagStatusElement='<inputtype="text"name="tag_status"value="'+tag_status+'">';
- @H_502_51@vartagIdElement='<inputtype="text"name="tag_id"value="'+tag_id+'">';
- //--end
- $(oldElement).attr('id',fileId);
- $(oldElement).before(newElement);
- $(oldElement).appendTo(form);
- //--
- $(tagNameElement).appendTo(form);
- $(tagLinkElement).appendTo(form);
- $(tagSortElement).appendTo(form);
- $(tagStatusElement).appendTo(form);
- $(tagIdElement).appendTo(form);
- //--end
- //setattributes
- $(form).css('position',
- ajaxFileUpload:@H_502_51@function(s){
- //Todointroduceglobalsettings,s.tag_id);
- @H_502_51@vario=jQuery.createUploadIframe(id,s.secureuri);
- @H_502_51@varframeId='jUploadFrame'+id;
- @H_502_51@varformId='jUploadForm'+id;
- //Watchforanewsetofrequests
- @H_502_51@if(s.global&&!jQuery.active++)
- {
- jQuery.event.trigger("ajaxStart");
- }
- @H_502_51@varrequestDone=@H_502_51@false;
- //Createtherequestobject
- @H_502_51@varxml={}
- @H_502_51@if(s.global)
- jQuery.event.trigger("ajaxSend",[xml,s]);
- //Waitforaresponsetocomeback
- @H_502_51@varuploadCallback=@H_502_51@function(isTimeout)
- {
- @H_502_51@vario=document.getElementById(frameId);
- @H_502_51@try
- {
- @H_502_51@if(io.contentwindow)
- {
- xml.responseText=io.contentwindow.document.body?io.contentwindow.document.body.innerHTML:@H_502_51@null;
- xml.responseXML=io.contentwindow.document.XMLDocument?io.contentwindow.document.XMLDocument:io.contentwindow.document;
- }@H_502_51@else@H_502_51@if(io.contentDocument)
- {
- xml.responseText=io.contentDocument.document.body?io.contentDocument.document.body.innerHTML:@H_502_51@null;
- xml.responseXML=io.contentDocument.document.XMLDocument?io.contentDocument.document.XMLDocument:io.contentDocument.document;
- }
- }@H_502_51@catch(e)
- {
- jQuery.handleError(s,xml,@H_502_51@null,e);
- }
- @H_502_51@if(xml||isTimeout=="timeout")
- {
- requestDone=@H_502_51@true;
- @H_502_51@varstatus;
- @H_502_51@try{
- status=isTimeout!="timeout"?"success":"error";
- //Makesurethattherequestwassuccessfulornotmodified
- @H_502_51@if(status!="error")
- {
- //processthedata(runsthexmlthroughhttpDataregardlessofcallback)
- @H_502_51@vardata=jQuery.uploadHttpData(xml,s.dataType);
- //Ifalocalcallbackwasspecified,fireitandpassitthedata
- @H_502_51@if(s.success)
- s.success(data,status);
- //Firetheglobalcallback
- @H_502_51@if(s.global)
- jQuery.event.trigger("ajaxSuccess",s]);
- }@H_502_51@else
- jQuery.handleError(s,status);
- }@H_502_51@catch(e)
- {
- status="error";
- jQuery.handleError(s,status,e);
- }
- //Therequestwascompleted
- @H_502_51@if(s.global)
- jQuery.event.trigger("ajaxComplete",s]);
- //HandletheglobalAJAXcounter
- @H_502_51@if(s.global&&!--jQuery.active)
- jQuery.event.trigger("ajaxStop");
- //Processresult
- @H_502_51@if(s.complete)
- s.complete(xml,status);
- jQuery(io).unbind()
- setTimeout(@H_502_51@function()
- {@H_502_51@try
- {
- $(io).remove();
- $(form).remove();
- }@H_502_51@catch(e)
- {
- jQuery.handleError(s,e);
- }
- },100)
- xml=@H_502_51@null
- }
- }
- //Timeoutchecker
- @H_502_51@if(s.timeout>0)
- {
- setTimeout(@H_502_51@function(){
- //Checktoseeiftherequestisstillhappening
- @H_502_51@if(!requestDone)uploadCallback("timeout");
- },s.timeout);
- }
- @H_502_51@try
- {
- //vario=$('#'+frameId);
- @H_502_51@varform=$('#'+formId);
- $(form).attr('action',s.url);
- $(form).attr('method','POST');
- $(form).attr('target',frameId);
- @H_502_51@if(form.encoding)
- {
- form.encoding='multipart/form-data';
- }
- @H_502_51@else
- {
- form.enctype='multipart/form-data';
- }
- $(form).submit();
- }@H_502_51@catch(e)
- {
- jQuery.handleError(s,e);
- }
- @H_502_51@if(window.attachEvent){
- document.getElementById(frameId).attachEvent('onload',uploadCallback);
- }
- @H_502_51@else{
- document.getElementById(frameId).addEventListener('load',uploadCallback,@H_502_51@false);
- }
- @H_502_51@return{abort:@H_502_51@function(){}};
- },
- uploadHttpData:@H_502_51@function(r,type){
- @H_502_51@vardata=!type;
- data=type=="xml"||data?r.responseXML:r.responseText;
- //Ifthetypeis"script",evalitinglobalcontext
- @H_502_51@if(type=="script")
- jQuery.globalEval(data);
- //GettheJavaScriptobject,ifJSONisused.
- @H_502_51@if(type=="json")
- eval("data="+data);
- //evaluatescriptswithinhtml
- @H_502_51@if(type=="html")
- jQuery("<div>").html(data).evalScripts();
- //alert($('param',data).each(function(){alert($(this).attr('value'));}));
- @H_502_51@returndata;
- }
- })
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。