框架编程概述
一个 HTML页面可以有一个或多个子框架,这些子框架以<iframe>来标记,用来显示一个独立的HTML页面。这里所讲的框架编程包括框架的自我控制以及框架之间的互相访问,例如从一个框架中引用另一个框架中的JavaScript变量、调用其他框架内的函数、控制另一个框架中表单的行为等。
框架间的互相引用
一个页面中的所有框架以集合的形式作为window对象的属性提供,例如:window.frames就表示该页面内所有框架的集合,这和表单对象、链接对象、图片对象等是类似的,不同的是,这些集合是document的属性。因此,要引用一个子框架,可以使用
这一策略对于JavaScript代码能够访问的页面内容做了很重要的限制,即JavaScript只能访问与包含它的文档在同一域下的内容。
JavaScript这个安全策略在进行多iframe或多窗口编程、以及Ajax编程时显得尤为重要。根据这个策略,在baidu.com下的页面中包含的JavaScript代码,不能访问在google.com域名下的页面内容;甚至不同的子域名之间的页面也不能通过JavaScript代码互相访问。对于Ajax的影响在于,通过XMLHttpRequest实现的Ajax请求,不能向不同的域提交请求,例如,在abc.example.com下的页面,不能向def.example.com提交Ajax请求,等等。
然而,当进行一些比较深入
例如这个例子:
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
像上面的这种直接赋值的方式就
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
项目中常会用全选反向checkbox的功能,用jQuery很方便,一般都是如下代码:
/**
* 全选
*/
function checkAll() {
$("input[name=ids]").attr("checked", true);
}
如果要获取一张图片原本的高度和宽度,我们一般这样获取
var url = "../images/logo.png";
var img = new Image();
img.src = http://camnpr.com/logo.png;
img.onload = function(){
//do something.....
}
官网地址: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>
定义功能模板define
define('camnpr', ['/js/camnpr/camnpr.min.js'], function (require, exports, module) {
return camnpr;
})
实例:以require加载UEditor,配置他们的依赖关系。可以把下边的代码,直接写到require.js
文件里,这个方便管理和加载配置,同时减少一个单独config文件的加载,同时也避免了因为require.js和 config.js加载顺序不同造成的错误。
第一步:找到editor_config.js(或者ueditor.config.js
)文件中的toolbars参数,增加一个“showmsg”字符串,对应着添加一个labelMap,用于鼠标移上按钮时的提示。
toolbars:[
[..., 'searchreplace','help','camnpr']
],
labelMap:{
'anchor':'', 'undo':'','camnpr':'郑州网建'
}
firefox不支持iframe的onreadystatechange事件,这个让我调试一下下午。。。
直接贴代码
我这里想做的效果是先生成一个iframe,当我想里面加载内容的时候触发这个事件, 代码可以很清晰的看到用onload方法来进行替代了。