说明
用途: 查询当前页面以及所包含的frame中id为传入的参数的对象,如本身页面为frame,还可查询上级页面中id为传入参数的对象。
参数:可传入对象id,以及对象本身
返回:返回所传id的对象
用法:如查询id为javaeye的对象
var xx = $$('javaeye');
方法原码如下:
function $$(id){
if(typeof id == 'string'){
var obj = document.getElementById(id);
if(obj)return obj;
var p = window;
//先搜索自己的子frame
var fs = [];
for(var k=0; k<p.frames.length; ++k){
fs.push(p.frames[k]);
}
for(var i=0; i<fs.length; ++i){
try{
obj = fs[i].document.getElementById(id);
}catch(e){
obj = null;
}
if(obj)return obj;
for(var k=0; k<fs[i].frames.length; ++k){
fs.push(fs[i].frames[k]);
}
}
//找到最高层window
while(p.parent != p){
p = p.parent;
}
obj = p.document.getElementById(id);
if(obj)return obj;
//frames
var fs = [];
for(var k=0; k<p.frames.length; ++k){
fs.push(p.frames[k]);
}
for(var i=0; i<fs.length; ++i){
try{
obj = fs[i].document.getElementById(id);
}catch(e){
obj = null;
}
if(obj)return obj;
for(var k=0; k<fs[i].frames.length; ++k){
fs.push(fs[i].frames[k]);
}
}
alert('can not get object for:' + id);
}else if(typeof id == 'object')
return id;
else
alert('can not get object for:' + id); //可写成记录日志方法,或其它处理
}
请高手赐教,以使更加完善!!
分享到:
相关推荐
在给定的例子中,“函数之间调用同一个对象方法”指的是在一个函数内部创建对象并调用其方法,然后在另一个函数中再次调用同一对象的相同或不同方法。这种模式常见于事件驱动的编程环境,例如游戏开发或GUI应用程序...
在提供的xlsd-SDWebView-2b46dcc资源中,可能包含了一个经过封装的WKWebView组件,它可能集成了上述功能,并提供了更简洁的API来方便开发者使用。如果你在项目中使用这个库,可以节省大量编写和调试代码的时间,提高...
Backbone_API_frame是一个基于Backbone.js和ExtJS开发的API框架,主要目的是为了提供一个高效、结构化的Web应用开发解决方案。这个框架结合了Backbone.js的模型-视图-控制器(MVC)架构和ExtJS的组件化能力,旨在...
在JavaScript编程中,浏览器对象构成了一个复杂的模型,允许开发者与用户的浏览器进行交互,提供了一系列方法和属性来操作页面元素和用户行为。本篇将详细介绍这些关键的浏览器对象。 一、对象(Object) 在...
- **加载URL**:调用`loadRequest:`方法,传入一个`NSURLRequest`对象,这个对象通常由URL创建。 ```swift let url = URL(string: "https://www.example.com") let request = URLRequest(url: url!) webView.load...
在类中声明一个WKWebView的属性,并在初始化方法中设置其frame和配置。 - 提供加载URL的方法,如`loadURL(_:)`,在其中创建URLRequest并调用WKWebView的加载方法。 - 可以添加额外的功能,如拦截请求、注入...
2. 原型链:JavaScript中的原型允许对象间共享属性和方法。`__proto__`指向了构造函数的`prototype`,而`prototype`上定义的方法可以被所有实例访问。自定义框架可能利用这一点创建通用的功能。 3. jQuery集成:...
"small ajax frame"是一个以面向对象风格设计的轻量级JavaScript库,专注于AJAX(Asynchronous JavaScript and XML)技术的实现。它旨在提供一个简洁、高效的方式来处理网页的异步数据交互,提升用户体验,减少页面...
- **全局Cross对象**:`crossUtils.js`中定义了一个全局对象`Cross`,其下有两个主要属性: - `signalHandler`:存储注册的信号及其对应的回调函数。 - `on`:用于注册一个信号及其回调函数。 - `call`:用于向...
例如,你可以在Java服务端定义一个接口,该接口允许在运行时加载和执行JavaScript脚本来完成特定任务,这样就能轻松地切换或更新业务逻辑,而无需重新编译和部署Java代码。 在实际项目中,这种方法可以应用于许多...
它不支持像抽象、继承、重载等面向对象语言的特性,而是提供了一个强大的对象系统,允许开发者根据需求创建自己的对象。然而,JavaScript仍保留了一些面向对象的基本特征,比如封装和组合,这使得它在实际应用中表现...
在 JavaScript 中,对象的方法是与对象相关的函数。它们通常是对象属性的函数形式,用于执行与该对象相关的操作。例如,Array 对象有多种内置方法,如 `push()`、`pop()` 和 `slice()`: ```javascript let arr = ...
7.7 Frame对象 7.7.1 框架集文档中对象的结构 7.7.2 控制指定的框架 7.7.3 常见属性和方法汇总 7.7.4 Frameset对象 7.7.5 iframe元素对象 7.8 Document对象 7.9 本章小结 第8章 Document对象 8.1 对象模型参考 8.2 ...
MFC封装了Windows API,使得开发者可以更高效地编写应用,而IE WebBrowser控件则是MFC中用于嵌入Web内容的一个组件。这个控件实际上是Internet Explorer的核心引擎,允许应用程序在自身界面内展示网页内容。 标题...
**WKWebView:iOS与JS交互实现详解** 在iOS开发中,WKWebView是苹果提供的一款用于展示网页内容的组件,它取代...在实际项目中,根据需求,你可以进一步封装这些方法,打造自己的JSBridge,提高代码复用性和可维护性。
* BrowserFrame.java:BrowserFrame 对象是对 WebCore 库中的 Frame 对象的 Java 层封装,用于创建 WebCore 中定义的 Frame,以及为该 Frame 对象提供 Java 层回调方法。 * ByteArrayBuilder.java:ByteArrayBuilder...
7.7 Frame对象 7.7.1 框架集文档中对象的结构 7.7.2 控制指定的框架 7.7.3 常见属性和方法汇总 7.7.4 Frameset对象 7.7.5 iframe元素对象 7.8 Document对象 7.9 本章小结 第8章 Document对象 8.1 对象模型参考 8.2 ...
JavaScript对象关系图(通常称为JS Object Graph或DOM Tree)是表示网页中元素和它们相互关系的一种可视化工具。在Web开发中,DOM(Document Object Model)是HTML和XML文档的编程接口,它将文档结构转化为一系列...
4. **游戏对象和类**:游戏中的每一个角色,如植物、僵尸和道具,都可以看作是JavaScript中的对象。源码可能定义了一系列的类,用来描述这些对象的属性和行为,这是面向对象编程的基本思想。 5. **事件监听和处理**...
对象是JavaScript的核心,它允许开发者将多个属性和方法封装在一起。 JavaScript与正则表达式(Regular Expressions)的结合使用是处理文本的强大工具,用于在字符串中执行搜索、替换等操作。正则表达式提供了在...