精华内容
下载资源
问答
  • 修复问题: a:执行成功后,始终指向error方法处理,无法执行sucess方法; b:无法带参数提交,只能上传文件; c:运行时报:jQuery.handleError is not a function 错误;
  • 现在整理如下并附修复版的ajaxfileupload.js下载。 问题: 1:无法带参数提交,只能上传文件; 2:运行时报:jQuery.handleError is not a function 错误; 3:执行成功后,始终指向error方法处理,无法执行sucess...
  • 修复一个php-js-site-Iceland
  • JavaScript修复 oc js 函数对象传参 决解办法

    最近项目上线后 需要更更改下 cell上 的一个 字段名 和 字段内容

    这里写图片描述

    这个cell 里每个 UILabel现实的数据 都是通过传的一个model 模型过去 在model里面 取值 使用点语法 很爽是不是 但是在热修复的时候 就苦逼了一把 因为在 js 中 没有oc 语法的那种面向对象

    oc 中的方法 传入的model AWBModel类模型

    - (void)refreshUIWithOrderModelToSend:(AWBModel *)model
    {   

    js

    require('NSString,Tools,AWBModel');
    defineClass('OrderTableViewCell', {
        refreshUIWithOrderModelToSend: function(model) {

    js中的对象不是像oc 一样的 设置属性
    JavaScript 中的所有事物都是对象:字符串、数值、数组、函数…

    所以 我们在js中拿到的js里真正的对像 而是oc中的对象的地址

    怎样获取到oc传过来的对象的属性 使用oc 中的kvc方法就可以了

      refreshUIWithOrderModelToSend: function(model) {
            var jsmodel = mdoel.valueForKey("属性名");
            console.log(jsmodel); 
    展开全文
  • 修复.JS 一个 JavaScript 库,可以充分利用 JavaScript 作为函数式编程语言。
  • 使用Jquery做上传文件处理时,用到了ajaxfileupload.js 这个第...现在整理如下并附修复版的ajaxfileupload.js下载。 问题: 1:无法带参数提交,只能上传文件; 2:运行时报:jQuery.handleError is not a fu

    转载 http://blog.yadgen.com/?p=970

    使用Jquery做上传文件处理时,用到了ajaxfileupload.js 这个第三方代码,但是这个js几乎就是半成品,问题很多。现在整理如下并附修复版的ajaxfileupload.js下载。

    问题:
    1:无法带参数提交,只能上传文件;
    2:运行时报:jQuery.handleError is not a function 错误;
    3:执行成功后,始终指向error方法处理,无法执行sucess方法;

    解决方法:
    1:无法带参数提交,只能上传文件;
    原作者一定是把这个代码当作练习来写的,只完成了文件提交这个功能。需要对代码做些许修改即可。有两处修改:
    第一处是将原createUploadForm: function(id, fileElementId) 方法添加一个data参数,并将data中的数据拼接进去即可。代码如下:

    createUploadForm: function(id, fileElementId,data) {
        //create form
        var formId = 'jUploadForm' + id;
        var fileId = 'jUploadFile' + id;
        var form = jQuery('<form action="" method="POST" name="' + formId + '" id="' + formId + '" enctype="multipart/form-data"></form>');
        var oldElement = jQuery('#' + fileElementId);
        var newElement = jQuery(oldElement).clone();
        jQuery(oldElement).attr('id', fileId);
        jQuery(oldElement).before(newElement);
        jQuery(oldElement).appendTo(form);
     
        // 增加参数的支持
        if (data) {
            for (var i in data) {
                $('<input type="hidden" name="' + i + '" value="' + data[i] + '" />').appendTo(form);
            }
        }
     
        //set attributes
        jQuery(form).css('position', 'absolute');
        jQuery(form).css('top', '-1200px');
        jQuery(form).css('left', '-1200px');
        jQuery(form).appendTo('body');
        return form;
    },

    第二处 是调用createUploadForm方法地方,如下所示:

    ajaxFileUpload: function(s) {
       // TODO introduce global settings, allowing the client to modify them for all requests, not only timeout        
       s = jQuery.extend({}, jQuery.ajaxSettings, s);
       var id = new Date().getTime();
        
       // 修改为调用添加参数的方法
       // var form = jQuery.createUploadForm(id, s.fileElementId);
       var form = jQuery.createUploadForm(id, s.fileElementId, s.data);
        
       var io = jQuery.createUploadIframe(id, s.secureuri);

    2:运行时报:jQuery.handleError is not a function 错误;
    这个错误是由于ajaxfileupload.js 是在jquery1.4.2版本之前写的,Jquery之后的版本已经没有了handleError 方法,所以可以将1.4.2版本中的该方法复制到该js中。

    handleError: function( s, xhr, status, e ) {
        // If a local callback was specified, fire it
        if ( s.error ) {
            s.error.call( s.context || s, xhr, status, e );
        }
     
        // Fire the global callback
        if ( s.global ) {
            (s.context ? jQuery(s.context) : jQuery.event).trigger( "ajaxError", [xhr, s, e] );
        }
    },


    3:执行成功后,始终指向error方法处理,无法执行sucess方法;
    这个是由于ajaxfileupload.js 处理返回data的时候,没有考虑后台返回的是字符串的问题(即使返回的JSON格式数据,我们也大多喜欢转化为字符串来返回)。修改uploadHttpData方法:


    // Get the JavaScript object, if JSON is used.
    if ( type == "json" ){
        // 如果返回的是字符串(JSON格式字符串),下面会报错,导致无法走入sucess方法 加上"
        // eval( "data = " + data );
        eval("data = " "+data+" " ");
    }

    修复版ajaxfileupload.js 

    jQuery.extend({
        createUploadIframe: function(id, uri)
    	{
    			//create frame
                var frameId = 'jUploadFrame' + id;
                var iframeHtml = '<iframe id="' + frameId + '" name="' + frameId + '" style="position:absolute; top:-9999px; left:-9999px"';
    			if(window.ActiveXObject)
    			{
                    if(typeof uri== 'boolean'){
    					iframeHtml += ' src="' + 'javascript:false' + '"';
    
                    }
                    else if(typeof uri== 'string'){
    					iframeHtml += ' src="' + uri + '"';
    
                    }	
    			}
    			iframeHtml += ' />';
    			jQuery(iframeHtml).appendTo(document.body);
    
                return jQuery('#' + frameId).get(0);			
        },
        createUploadForm: function(id, fileElementId)
    	{
    		//create form	
    		var formId = 'jUploadForm' + id;
    		var fileId = 'jUploadFile' + id;
    		var form = jQuery('<form  action="" method="POST" name="' + formId + '" id="' + formId + '" enctype="multipart/form-data"></form>');	
    		var oldElement = jQuery('#' + fileElementId);
    		var newElement = jQuery(oldElement).clone();
    		jQuery(oldElement).attr('id', fileId);
    		jQuery(oldElement).before(newElement);
    		jQuery(oldElement).appendTo(form);
    		//set attributes
    		jQuery(form).css('position', 'absolute');
    		jQuery(form).css('top', '-1200px');
    		jQuery(form).css('left', '-1200px');
    		jQuery(form).appendTo('body');		
    		return form;
        },
    
        ajaxFileUpload: function(s) {
            // TODO introduce global settings, allowing the client to modify them for all requests, not only timeout		
            s = jQuery.extend({}, jQuery.ajaxSettings, s);
            var id = new Date().getTime();
    		var form = jQuery.createUploadForm(id, s.fileElementId);
    		var io = jQuery.createUploadIframe(id, s.secureuri);
    		var frameId = 'jUploadFrame' + id;
    		var formId = 'jUploadForm' + id;		
            // Watch for a new set of requests
            if ( s.global && ! jQuery.active++ )
    		{
    			jQuery.event.trigger( "ajaxStart" );
    		}            
            var requestDone = false;
            // Create the request object
            var xml = {};
            if ( s.global )
                jQuery.event.trigger("ajaxSend", [xml, s]);
            // Wait for a response to come back
            var uploadCallback = function(isTimeout)
    		{			
    			var io = document.getElementById(frameId);
                try 
    			{				
    				if(io.contentWindow)
    				{
    					 xml.responseText = io.contentWindow.document.body?io.contentWindow.document.body.innerHTML:null;
                    	 xml.responseXML = io.contentWindow.document.XMLDocument?io.contentWindow.document.XMLDocument:io.contentWindow.document;
    					 
    				}else if(io.contentDocument)
    				{
    					 xml.responseText = io.contentDocument.document.body?io.contentDocument.document.body.innerHTML:null;
                    	xml.responseXML = io.contentDocument.document.XMLDocument?io.contentDocument.document.XMLDocument:io.contentDocument.document;
    				}						
                }catch(e)
    			{
    				jQuery.handleError(s, xml, null, e);
    			}
                if ( xml || isTimeout == "timeout") 
    			{				
                    requestDone = true;
                    var status;
                    try {
                        status = isTimeout != "timeout" ? "success" : "error";
                        // Make sure that the request was successful or notmodified
                        if ( status != "error" )
    					{
                            // process the data (runs the xml through httpData regardless of callback)
                            var data = jQuery.uploadHttpData( xml, s.dataType );    
                            // If a local callback was specified, fire it and pass it the data
                            if ( s.success )
                                s.success( data, status );
        
                            // Fire the global callback
                            if( s.global )
                                jQuery.event.trigger( "ajaxSuccess", [xml, s] );
                        } else
                            jQuery.handleError(s, xml, status);
                    } catch(e) 
    				{
                        status = "error";
                        jQuery.handleError(s, xml, status, e);
                    }
    
                    // The request was completed
                    if( s.global )
                        jQuery.event.trigger( "ajaxComplete", [xml, s] );
    
                    // Handle the global AJAX counter
                    if ( s.global && ! --jQuery.active )
                        jQuery.event.trigger( "ajaxStop" );
    
                    // Process result
                    if ( s.complete )
                        s.complete(xml, status);
    
                    jQuery(io).unbind();
    
                    setTimeout(function()
    									{	try 
    										{
    											jQuery(io).remove();
    											jQuery(form).remove();	
    											
    										} catch(e) 
    										{
    											jQuery.handleError(s, xml, null, e);
    										}									
    
    									}, 100);
    
                    xml = null;
    
                }
            };
            // Timeout checker
            if ( s.timeout > 0 ) 
    		{
                setTimeout(function(){
                    // Check to see if the request is still happening
                    if( !requestDone ) uploadCallback( "timeout" );
                }, s.timeout);
            }
            try 
    		{
    
    			var form = jQuery('#' + formId);
    			jQuery(form).attr('action', s.url);
    			jQuery(form).attr('method', 'POST');
    			jQuery(form).attr('target', frameId);
                if(form.encoding)
    			{
    				jQuery(form).attr('encoding', 'multipart/form-data');      			
                }
                else
    			{	
    				jQuery(form).attr('enctype', 'multipart/form-data');			
                }			
                jQuery(form).submit();
    
            } catch(e) 
    		{			
                jQuery.handleError(s, xml, null, e);
            }
    		
    		jQuery('#' + frameId).load(uploadCallback	);
            return {abort: function () {}};	
    
        },
    
    	// handleError 方法在jquery1.4.2之后移除了,此处重写改方法
    	handleError: function( s, xhr, status, e ) {
    		// If a local callback was specified, fire it
    		if ( s.error ) {
    			s.error.call( s.context || s, xhr, status, e );
    		}
    
    		// Fire the global callback
    		if ( s.global ) {
    			(s.context ? jQuery(s.context) : jQuery.event).trigger( "ajaxError", [xhr, s, e] );
    		}
    	},
    
        uploadHttpData: function( r, type ) {
            var data = !type;
            data = type == "xml" || data ? r.responseXML : r.responseText;
            // If the type is "script", eval it in global context
            if ( type == "script" )
                jQuery.globalEval( data );
            // Get the JavaScript object, if JSON is used.
    		if ( type == "json" ){
    			eval( "data = " + data );
    		}
            // evaluate scripts within html
            if ( type == "html" )
                jQuery("<div>").html(data).evalScripts();
    
            return data;
        }
    });




    展开全文
  • ie不执行javascript修复

    2011-09-30 00:54:38
    ie不执行javascript修复ie不执行javascript修复ie不执行javascript修复 当IE不能正常运行时,打开该工具就可以了,自动修复
  • 修复IE的JavaScript的批处理。比如发现IE下,点击JavaScript链接不响应,多数可以用此脚本。
  • 修复ie浏览器中的javascript禁用问题
  • js周控件bug修复版本

    2020-01-04 12:55:46
    js 周控件 显示格式:XX周(2009-10-10 至 2009-10-17) 修复bug: 1.最后一周显示undefind 2.个别年份计算周数错误问题 3.调整了计算某一年中天数对应周数方法
  • 分号是一个简单的命令行工具,用于在JS代码中修复分号。 该工具完全可以完成预期的工作,插入缺少的分号,删除多余的分号。 没有其他的。 保留所有格式和空格(包括结尾的空格)。 差异仅包含添加或删除的分号。 ...
  • eslintd-fix:Emacs次要模式,可使用eslint_d自动修复javascript
  • JAVA版的JS代码加密器(修复下载)

    千次阅读 2012-03-19 13:42:55
    能对JS代码进行简单的加密,给破解者带来不小的麻烦,防君子不防小人。能加密就能解密,这里就不提供解密方案了。   源代码开放,请用eclipse导入。 原JS代码: alert("hello world")   加密后的JS代码:...

    能对JS代码进行简单的加密,给破解者带来不小的麻烦,防君子不防小人。能加密就能解密,这里就不提供解密方案了。

     

    源代码开放,请用eclipse导入。


    原JS代码:

    alert("hello world")

     

    加密后的JS代码:

    Olllll="(";OOOlll=")";OOOOll=" ";OOllll="x";OOOOOl="r";OOOOOOOll="S";OOOOOO="i";OOOOlOOll="t";OOOOOOO="n";OOOOOlll="i";OOOOOOOO="g";lllOllll="o";OOOOOOll="t";OOOOllll="o";OOOlllll="n";llllOlll="d";lllllOll="e";llOlllll="C";lllllOOl="x";llllOOll=")}";lllOOlll="C";llOOllll="h";llllllOl="(";lOOlllll="a";LOOOllll="r";lllOOOll="n";llOOOlll="f";lOOOllll="u";llllOOOl="c";OOllllll="f";llOOOOll=".";lllOOOOl=" l = ";lOOOOlll="r";lOOOOOll="o";llOOOOOl="m";lOOOOOOl="{r";llOOOOOOl="e";lOlOOOOOl="t";lOOlOOOOl="u";lOOOlOOOl="r";lOOOOlOOl="n";lOOOOOlOl="v";lOOOOOOll="a";lOOOOOLll="r";eval(lOOOOOlOl+lOOOOOOll+lOOOOOLll+lllOOOOl+llOOOlll+lOOOllll+lllOOOll+llllOOOl+OOOOOOll+OOOOOlll+OOOOllll+OOOlllll+Olllll+OOllll+OOOlll+lOOOOOOl+llOOOOOOl+lOlOOOOOl+lOOlOOOOl+lOOOlOOOl+lOOOOlOOl+OOOOll+OOOOOOOll+OOOOlOOll+OOOOOl+OOOOOO+OOOOOOO+OOOOOOOO+llOOOOll+OOllllll+lOOOOlll+lOOOOOll+llOOOOOl+lllOOlll+llOOllll+lOOlllll+LOOOllll+llOlllll+lllOllll+llllOlll+lllllOll+llllllOl+lllllOOl+llllOOll);eval(l(79)+l(61)+l(102)+l(117)+l(110)+l(99)+l(116)+l(105)+l(111)+l(110)+l(40)+l(109)+l(41)+l(123)+l(114)+l(101)+l(116)+l(117)+l(114)+l(110)+l(32)+l(83)+l(116)+l(114)+l(105)+l(110)+l(103)+l(46)+l(102)+l(114)+l(111)+l(109)+l(67)+l(104)+l(97)+l(114)+l(67)+l(111)+l(100)+l(101)+l(40)+l(77)+l(97)+l(116)+l(104)+l(46)+l(102)+l(108)+l(111)+l(111)+l(114)+l(40)+l(109)+l(47)+l(49)+l(48)+l(48)+l(48)+l(48)+l(41)+l(47)+l(57)+l(57)+l(41)+l(59)+l(125));eval(""+O(96037535)+O(106926488)+O(99994089)+O(112866544)+O(114841063)+O(39602633)+O(33665224)+O(102962573)+O(99999684)+O(106928981)+O(106925424)+O(109895658)+O(31686861)+O(117815368)+O(109892183)+O(112861740)+O(106921952)+O(99002706)+O(33662060)+O(40595619));



    文件体积和运行效率会减低,但是对现在的机器来讲不算什么,有利有弊。大批量js代码已测试通过。

     

    下载地址:

    http://download.csdn.net/detail/cxy1238/4757396

    展开全文
  • 网上下的qrcode.js貌似用不了,修复后正常使用,先提供给需要的同学们使用
  • ESLint是用于识别和报告ECMAScript / JavaScript代码中的模式的工具。 在许多方面,它与JSLint和JSHint相似,但有一些例外: ESLint使用进行JavaScript解析。 ESLint使用AST评估代码中的模式。 ESLint完全可插入...
  • cityManager,js文件修复

    2013-05-18 23:45:33
    如果cityManager.js文件出错可以下载此文件替代即可
  • 修复官方删除不回调BUG,文件重复上传BUG , 修复添加上传参数报错Cannot read property 'append' of null
  • 漏洞修复javascript框架库漏洞

    万次阅读 2019-11-01 14:14:39
    漏洞修复javascript框架库漏洞重现方案一:升级Servlet3.0需要兼容 Java EE 6.0 的容器,如Tomcat7方案二:利用HttpResponse的addHeader方法,设置Set-Cookie的值 JavaScript 框架或库是一组能轻松生成跨浏览器...

    JavaScript 框架或库是一组能轻松生成跨浏览器兼容的 JavaScript 代码的工具和函数。如果网站使用了存在漏洞的 JavaScript 框架或库,攻击者就可以利用此漏洞来劫持用户浏览器,进行挂马、XSS、Cookie劫持等攻击。本文主要讨论Cookie劫持攻击:设置HttpOnly,防止客户端通过JS获取Cookie信息。

    重现

    <script type="text/javascript" src="/js/jquery.cookie.js"></script>
    <script type="text/javascript">
    function getCookie(){
        $.alert("cookie:" + $.cookie("AUTH_TOKEN"));
    </script>
    

    如下:
    在这里插入图片描述
    在这里插入图片描述

    方案一:升级Servlet3.0需要兼容 Java EE 6.0 的容器,如Tomcat7

    maven依赖包

    <dependency>
    	<groupId>javax.servlet</groupId>
    	<artifactId>javax.servlet-api</artifactId>
    	<version>3.1.0</version>
    	<scope>provided</scope>
    </dependency>
    

    Servlet3.0中,已经支持设置HttpOnly,提供了如下API:

    /**
     * @since Servlet 3.0
     */
    public interface SessionCookieConfig {
    	..............
        /**
         * @see javax.servlet.http.Cookie#setHttpOnly(boolean)
         */
        public void setHttpOnly(boolean httpOnly);
    
    
        /**
         * @see javax.servlet.http.Cookie#isHttpOnly()
         */
        public boolean isHttpOnly();
    
    	..................
    }
    
    public class Cookie implements Cloneable, Serializable {
    	..................
        /**
         * @since Servlet 3.0
         */
        public void setHttpOnly(boolean isHttpOnly) {
            this.isHttpOnly = isHttpOnly;
        }
     
        /**
         * @since Servlet 3.0
         */
        public boolean isHttpOnly() {
            return isHttpOnly;
        }
        ..................
    }
    

    业务代码

    public static void saveCookie(HttpServletResponse response,
                                  String name,
                                  String value,
                                  int saveTime) {
        Cookie cookie = new Cookie(name, value);
        cookie.setMaxAge(saveTime);
        cookie.setPath("/");
        // Servlet3.0提供setHttpOnly()方法。
        cookie.setHttpOnly(true);
        response.addCookie(cookie);
    }
    

    效果:
    在这里插入图片描述
    在这里插入图片描述

    方案二:利用HttpResponse的addHeader方法,设置Set-Cookie的值

    import javax.servlet.http.Cookie;
    import javax.servlet.http.HttpServletResponse;
    
    public class CookieUtil {
    
        /**
         * 设置HttpOnly Cookie
         * @param response HTTP响应
         * @param cookie Cookie对象
         * @param isHTTPOnly 是否为HttpOnly
         */
        public static void addCookie(HttpServletResponse response, Cookie cookie, boolean isHttpOnly) {
            String name = cookie.getName();//Cookie名称
            String value = cookie.getValue();//Cookie值
            int maxAge = cookie.getMaxAge();//最大生存时间(毫秒,0代表删除,-1代表与浏览器会话一致)
            String path = cookie.getPath();//路径
            String domain = cookie.getDomain();//域
            boolean isSecure = cookie.getSecure();//是否为安全协议信息 
    
            StringBuilder buffer = new StringBuilder();
    
            buffer.append(name).append("=").append(value).append(";");
    
            if (path != null) {
                buffer.append("path=").append(path).append(";");
            }
    
            if (isHttpOnly) {
                buffer.append("HttpOnly;");
            }
    
            response.addHeader("Set-Cookie", buffer.toString());
        }
    }
    

    业务代码

    public static void saveCookie(HttpServletResponse response,
                                  String name,
                                  String value,
                                  int saveTime) {
        Cookie cookie = new Cookie(name, value);
        cookie.setMaxAge(saveTime);
        cookie.setPath("/");
        CookieUtil.addCookie(response, cookie, true);
    }
    

    效果同方案一

    展开全文
  • 自动修复愚蠢的 lint 错误。 请转到以创建问题或提出与该项目相关的问题。 这只是一个运行 fixmyjs 的 grunt 插件。 入门 如果您以前没有使用过 ,请务必查看指南。 从与项目的和相同的目录中,使用以下命令安装...
  • mobileBUGFix.mini.js for android jpeg压缩质量修复 drawImage画面扭曲修复
  • 5月30日12点,Node.js 8正式发布了,这个版本具有一系列新功能和性能改进,并且这些功能和改进将获得长期支持(LTS)。下面就来介绍Node.js 8版本中最重要的功能和修复
  • 本文是司徒正美的《javascript框架设计》的第三章第2节的读书笔记,本节主要介绍的是javascript数组的扩展与修复,本文则是选取了其中的重点部分展示给大家。
  • Babylonjs-微信修复 修复微信/ x5中babylonjs的触摸事件问题
  • 本文是司徒正美的《javascript框架设计》的第三章第一节的读书笔记,简单介绍了javascript字符串的扩展和修复,小伙伴们参考下吧
  • inpaint.js, 在JS中,Telea修复算法 inpaint.js这主要是Telea修复算法的端口,来自 scikit图像 。 它利用快速行进法,根据周围区域来填充图像的特定区域。 具体细节在博客发布( 由最初实现这些修复程序的人)的博客...
  • Basic-[removed]使用JavaScript进行修复

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 86,938
精华内容 34,775
关键字:

修复js下载