易截截图软件、单文件、免安装、纯绿色、仅160KB

javascript 跨文档调用技术

这是一种很有前途的技术,可惜生不逢时,IE刚打垮网景,火狐又冒出来了。这种技术是我在设计超级数组对象时发现的。由于直接继承原生数组问题多,我只有用Object与Array的原型方法构建一个新类。不用说,效率不太理想。直到我已把超级数组臻至完美的今天,我还在不断寻找新的替代方案,于是我就想到用另一个文档的数组对象来构建。经测试,IE下是完美的。后来我又发现早在2006年全知全能的DE大神早已做了这样的探索,在《How To Subclass The JavaScript Array Object》中应用这种技术,我只不过是重新把它发挖出来而已。但是,以后就没有下文了,DE大神在他的Base2类库构建Array2对象时也没有应用这种技术。不明真相的我一头扎下去,哎呀!DE大神你真坏,有陷阱也不通报声!
下面就拿DE大神的例子改一下,演示究竟出了什么状况?!
window.onload = function(){
//创建一个iframe
var iframe = document.createElement("iframe");
iframe.style.display = "none";
document.body.appendChild(iframe);
// 取得iframe文档的数组对象
frames[frames.length - 1].document.write(
"<script>parent.Array2 = Array;<\/script>");
var a = Array2(1,2,3,4),
b = a.slice(2)
alert(b instanceof Array)//万恶的safari与firefox总是试图把沙箱文档的数组实例转化为本地文档的数组实例
a.push(5);
alert(a instanceof Array)//同上,safari与firefox受影响的方法是所有返回数组的方法……晕
}

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta content="IE=8" http-equiv="X-UA-Compatible"/>
<title>跨文档调用 by 司徒正美 </title>
<script type="text/javascript">
window.onload = function(){
//创建一个iframe
var iframe = document.createElement("iframe");
iframe.style.display = "none";
document.body.appendChild(iframe);
// 取得iframe文档的数组对象
frames[frames.length - 1].document.write(
"<script>parent.Array2 = Array;<\/script>");
var a = Array2(1,2,3,4),
b = a.slice(2


相关文档:

javascript在ie与ff中的区别

Javascript中的常见问题

1. 集合类对象问题

现有代码中许多集合类对象取用时使用 (),IE 能接受,Firefox 不能。
解决方法:改用 [] 作为下标运算。如:document.forms("formName") 改为
Js代码
document.forms[
"formName"
];   
//又如:
  
document.getEle ......

JavaScript使用方法和技巧大全

JavaScript就这么回事:基础知识
1 创建脚本块
1: <script language="JavaScript">
2: JavaScript code goes here
3: </script>
 
2 隐藏脚本代码
1: <script language="JavaScript">
2: <!--
3: document.write("Hello");
4: // -->
5: </script>
在不支持JavaScript的浏览 ......

JAVASCRIPT 教程3 付首昕

第 三 集
--------------------------------------------------------------------------------
曾 有 许 多 网 友 问 我 有 关JavaScript与 框 架(为 求 方 便, 以 下 均 用frame表 示)合 用 的 问 题。 事 实 上,若 您 同 时 想 用frames和JavaScript的 功 能,
首 先 您 必 需 拥 有Netscape Navigator 2.0 (或 以 ......

JavaScript类和继承:constructor属性

constructor属性始终指向创建当前对象的构造函数。比如下面例子:
// 等价于 var foo = new Array(1, 56, 34, 12);
 
var arr = [
1

56

34

12
];  
console.log(arr.constructor === Array);  ......

javascript看源代码

<HTML>
<HEAD>
<META http-equiv='Content-Type' content='text/html; charset=gb2312'>
<TITLE>用按钮显示源代码或者javascript里面的内容,有时会有</TITLE>
</HEAD>
<BODY >
<script id=abc >
function dennisboys()
{
var i=0;
alert(document.documentElem ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号