javascript中实现跨域的方式总结第一种方式:jsonp请求;jsonp的原理是利用<script>标签的跨域特性,可以不受限制地从其他域中加载资源,类似的标签还有<img>.第二种方式:document.domain;这种方式用在主域名相同子域名不同的跨域访问中第三种方式:window.name;window的name属性有个特征:在一个窗口(window)的生命周期内,窗口载入的所有的页面都是共享一个window.name的,每个页面对window.name都有读写的权限,window.name是...
我用 for(let x in y) 循环一个图片元素数组。for (let x in arr) {arr[x].onload = function(){ /* ... */ } }这样写是没有问题的,因为:for (let x...)的循环在每次迭代时都为x创建新的绑定。 ...在ES标准中,有一段是关于CreatePerIterationEnvironment,也就是for语句每次循环所要建立环境的步骤,里面有提及有关词法环境的相关步骤(LexicalEnvironment),这与使用let时会有关。所以,如果你使用了let而不是var,let的变量...
源代码:$.ajax({url : "<%=request.getContextPath()%>/cartree/testCartree.action",type : "GET",cache : false,async : false,data : {"method" : "selFun"},dataType : "json",contentType: "application/x-www-form-urlencoded; charset=utf-8", success : function(json){var lsgj_tree_context = "<script type=\"text/javascript\">"+"c = new dTree(\"c\");"+"c.config.useCookies = false;"+"c.config.useStatusText = ...
如果遇到如下提示:Uncaught TypeError: Cannot set property ‘onblur‘ of null有可能是<script>…</script>放在需要执行的标签前面了,将JS代码放在标签内容后,问题就解决了。原文:https://www.cnblogs.com/johnthegreat/p/12797868.html
内存泄漏?官方解释:内存泄漏(Memory Leak)是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。通俗点就是指由于疏忽或者错误造成程序未能释放已经不再使用的内存,不再用到的内存却没有及时释放,从而造成内存上的浪费。避免内存泄漏?在局部作用域中,等函数执行完毕,变量就没有存在的必要了,垃圾回收机制很亏地做出判断并且回收,但是对于全...
使用d3绘制某个地市的地图时,把scale成很大可是还是无法达到想要的效果。//-------------------------------------------------------------//获得地图的中心 获得centerfunction getCenters(features){var longitudeMin = 100000;//最小经度值var latitudeMin = 100000;//最小纬度值var longitudeMax = 0;//最大经度值var latitudeMax = 0;//最大纬度值features.forEach(function(e){ var a = d3.geo.bounds(e);//[为某个对象计...
折腾了半天,程序中使用jquery的load方法进行请求,很奇怪为啥第二次无法发送请求。百度了一把,谁知load是用get方式进行请求的,因此IE浏览器对 其进行缓存了。网上搜了很多解决方案,一大把,下面是我认为比较全面的解决方案。主要分为客户端解决和服务端解决。 1.客户端解决方案IE访问策略:Internet选项--浏览历史记录--设置-- Internet 临时文件的选项改为每次访问网页时也可以 1: 在AJAX请求的页面后加个随机函数,我们可以使...
最近项目中一直在用 Jquery validation 做校验,结合bootstrap 和 jquery form 感觉效果不错。但是remote验证的缓存问题让我头痛了很久,几乎就像放弃这款插件了。 举例说明: 现有学校,年级,班级实体 在同一学校下不能有相同的年级,在同一年级下不能有相同的班级 以同一学校下不能有相同年级为例,在验证的时候用remote方式: JS 代码如下: "gradeId" : { required : true, min : 0, remote: { url: "gradeManager-checkGrade...
先看下重现代码 1, gb2312.html 该文件编码为gb2312 代码如下: p { color: red; } 测试 function loadJS(src, charset) { var script = document.createElement('script'); script.src = src; script.charset = charset; var head = document.getElementsByTagName('head')[0]; head.appendChild(script); } 2, utf8.js 该文件编码是utf-8 代码如下: var p = document.createElement('p'); p.innerHTML = 'IE缓存...
先看下重现代码 1, gb2312.html 该文件编码为gb2312 代码如下:<!DOCTYPE html> <html> <head> <title></title> <meta charset="gb2312"/> <style> p { color: red; } </style> </head> <body> <button onclick="loadJS(utf8.js, utf-8)">测试</button> <script> function loadJS(src, charset) { var script = document.createElement(script); script.src = src; script.charset = charset; var head = document.getElementsByT...
最近项目中一直在用 Jquery validation 做校验,结合bootstrap 和 jquery form 感觉效果不错。但是remote验证的缓存问题让我头痛了很久,几乎就像放弃这款插件了。 举例说明: 现有学校,年级,班级实体 在同一学校下不能有相同的年级,在同一年级下不能有相同的班级 以同一学校下不能有相同年级为例,在验证的时候用remote方式: JS 代码如下:"gradeId" : { required : true, min : 0, remote: { url: "gradeManager-checkGrade....
解决AJAX中文乱码常用的两种方法 1. 在客户端进行encodeURI(utf-8也可以不做,默认),在服务器端将iso-8859-1编码转为utf-8编码 2.在客户端进行两次encodeURI,在服务器端进行一次转换。 第2种方法能解决问题的原因: 进行两次转换后,在第一次getparameter方法中进行第一次解码,因为解出来的是英文(第一次encode之后的结果),所以不会出问题;第二次使用URLDecoder的decode方法,所以能正常解决这个问题。需要注意的是,在de...
方法一:加If-Modified-Since头xmlhttp多次调用时它却总是显示缓存页面, 尝试在 php 或 asp 中加入相应的http头明确不要缓存, 也没什么效果!! 现在终于找到一个办法啦,就是在 xmlhttp.open 之后发送一个If-Modified-Since头即可, 代码如下xmlhttp.setRequestHeader(If-Modified-Since, 0);xmlHttp.onreadystatechange = stateChanged; xmlHttp.open("GET", url, true); xmlHttp.setRequestHeader(If-Modifie...
今天是发现bug的高产期。 IE在解析innerHTML的时候居然会忽略Cache策略,简单的重复加载图片。请看以下代码: <HTML> <HEAD> <BODY> <SCRIPT LANGUAGE="JavaScript"> <!-- var st="<img src=\"http://imgcache.qq.com/qzone/item/orig/11/3179_5.gif\">" var ar = new Array(101); window.onload=function(){ document.body.innerHTML = ar.join(st); } //--> </SCRIPT> </BODY> </HTML> 保存到本地作为一个htm文件,然后用IE打...
解决AJAX中文乱码常用的两种方法 1. 在客户端进行encodeURI(utf-8也可以不做,默认),在服务器端将iso-8859-1编码转为utf-8编码 2.在客户端进行两次encodeURI,在服务器端进行一次转换。 第2种方法能解决问题的原因: 进行两次转换后,在第一次getparameter方法中进行第一次解码,因为解出来的是英文(第一次encode之后的结果),所以不会出问题;第二次使用URLDecoder的decode方法,所以能正常解决这个问题。需要注意的是,在de...