最近的文章列表

js框架(iframe)操作总结(父子框架间的互相引用等)

框架编程概述

一个 HTML页面可以有一个或多个子框架,这些子框架以<iframe>来标记,用来显示一个独立的HTML页面。这里所讲的框架编程包括框架的自我控制以及框架之间的互相访问,例如从一个框架中引用另一个框架中的JavaScript变量、调用其他框架内的函数、控制另一个框架中表单的行为等。

框架间的互相引用

一个页面中的所有框架以集合的形式作为window对象的属性提供,例如:window.frames就表示该页面内所有框架的集合,这和表单对象、链接对象、图片对象等是类似的,不同的是,这些集合是document的属性。因此,要引用一个子框架,可以使用

2014/7/16 Comments:
JavaScript两种跨域技术详解(不同子域、完全不同域)

这一策略对于JavaScript代码能够访问的页面内容做了很重要的限制,即JavaScript只能访问与包含它的文档在同一域下的内容。

JavaScript这个安全策略在进行多iframe或多窗口编程、以及Ajax编程时显得尤为重要。根据这个策略,在baidu.com下的页面中包含的JavaScript代码,不能访问在google.com域名下的页面内容;甚至不同的子域名之间的页面也不能通过JavaScript代码互相访问。对于Ajax的影响在于,通过XMLHttpRequest实现的Ajax请求,不能向不同的域提交请求,例如,在abc.example.com下的页面,不能向def.example.com提交Ajax请求,等等。

然而,当进行一些比较深入

2014/7/16 Comments:
JavaScript数组深拷贝和浅拷贝的两种方法

例如这个例子:

代码如下:
var arr = ["One","Two","Three"];

var arrto = arr;
arrto[1] = "test";
document.writeln("数组的原始值:" + arr + "<br />");//Export:数组的原始值:One,test,Three
document.writeln("数组的新值:" + arrto + "<br />");//Export:数组的新值:One,test,Three

像上面的这种直接赋值的方式就

2014/7/16 Comments:
js Number类型 NaN和Infinity UEditor上传图片进度条有可能显示Infinity的问题

js在计算数值时有2个值比较特殊,分别是:NaN 和 Infinity (-Infinity)

Parsing something that isn't a number results in NaN. isNaN helps to detect those cases:

parseInt("hello", 10) // NaN
isNaN(parseInt("hello", 10)) // true

Division through zero results in Infinity:

1 / 0 // Infinity
2014/7/11 Comments:
jQuery input checkbox全选反向 反复调用attr('checked', true/false) 只有第一次生效

项目中常会用全选反向checkbox的功能,用jQuery很方便,一般都是如下代码:

   /**
* 全选
*/
function checkAll() {
$("input[name=ids]").attr("checked", true);
}
2014/7/11 Comments:
IE8、firfox关于(new Image()).onload的不执行的问题

如果要获取一张图片原本的高度和宽度,我们一般这样获取

var url = "../images/logo.png";
var img = new Image();
img.src = http://camnpr.com/logo.png;
img.onload = function(){
  //do something.....
}
2014/7/11 Comments:
jQuery验证控件jquery.validate.js使用说明+中文API

官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation

jQuery plugin: Validation 使用说明   

一导入js库
<script src="../js/jquery.js" type="text/javascript"></script>
<script src="../js/jquery.validate.js" type="text/javascript"></script>

2014/7/8 Comments:
requirejs config里shim配置说明 多文件依赖关系声明

定义功能模板define

define('camnpr', ['/js/camnpr/camnpr.min.js'], function (require, exports, module) {
     return camnpr;
})

实例:以require加载UEditor,配置他们的依赖关系。可以把下边的代码,直接写到require.js文件里,这个方便管理和加载配置,同时减少一个单独config文件的加载,同时也避免了因为require.js和 config.js加载顺序不同造成的错误。

2014/7/2 Comments:
UEditor工具栏上自定义按钮、图标、事件、窗口页面

第一步:找到editor_config.js(或者ueditor.config.js)文件中的toolbars参数,增加一个“showmsg”字符串,对应着添加一个labelMap,用于鼠标移上按钮时的提示。

toolbars:[
[..., 'searchreplace','help','camnpr']
],
labelMap:{
'anchor':'', 'undo':'','camnpr':'郑州网建'
}
2014/7/1 Comments:
js iframe的onreadystatechange事件在firefox下的使用

firefox不支持iframe的onreadystatechange事件,这个让我调试一下下午。。。

直接贴代码
 
我这里想做的效果是先生成一个iframe,当我想里面加载内容的时候触发这个事件, 代码可以很清晰的看到用onload方法来进行替代了。

2014/6/19 Comments: