1. 程式人生 > >重走JAVA程式設計路:Js中self,top,parent,opener詳解,傻傻分不清楚

重走JAVA程式設計路:Js中self,top,parent,opener詳解,傻傻分不清楚

昨天專案遇到的問題:取上級window視窗物件時,傻傻分不清楚!你能分清楚嗎?

當我們在瀏覽器中開啟一個網頁時,瀏覽器都會建立一個視窗物件,這個視窗就是一個window物件。也就是Js生存依附的全域性環境物件和全域性作用域物件。

1.Self 指當前視窗頁面,就是window物件

例如:Self.close()window.close()一樣。

2.Top表示最頂層的一個視窗頁面

最頂層頁面===》父頁面===》子頁面,self.top就代表其中的最頂層頁面,相當於子頁面的祖父。

self.top 等於self.parent.parent

3.Parent在進行父頁面訪問時使用

parent用於在iframe框架頁中,frame框架頁中生成的子頁面中訪問父頁面的物件。例如:A頁面中有一個iframe或frame,那麼iframe
或frame中的頁面就可以通過parent物件來引用A頁面中的物件。這樣就可以獲取或返回值到A頁面中。

4.Opener在進行父頁面引用時使用

opener用於在window.open開啟的頁面引用執行window.open方法的的上級頁面的物件。例如:A頁面通過window.open()方
法彈出了B頁面,在B頁面中就可以通過opener來引用A頁面,這樣就可以通過這個物件來對A頁面進行操作。

window.opener.location.reload(); //子視窗重新整理父視窗
window.opener.location.href //獲取父視窗href
window.opener.locaiton.pathname //獲取父視窗路徑名
//重新整理父頁面
window.location.href=window.location.href ; //重新定位父頁面
window.location.reload;

parentopener的區別
parent是相對於框架來說父視窗物件 
opener是針對於用window.open開啟的視窗來說的父視窗,前提是window.open開啟的才有


如下: parent.frame1.document.forms[0].elements[0].value; 

拓展:jquery獲取父視窗的元素

取父視窗的元素方法:$(selector, window.parent.document);

("#父視窗元素ID",window.parent.document); 對應javascript的程式碼:window.parent.document.getElementByIdx_x("父視窗元素ID");

相關推薦

JAVA程式設計Jsself,top,parent,opener清楚

昨天專案遇到的問題:取上級window視窗物件時,傻傻分不清楚!你能分清楚嗎? 當我們在瀏覽器中開啟一個網頁時,瀏覽器都會建立一個視窗物件,這個視窗就是一個window物件。也就是Js生存依附的全域性環境物件和全域性作用域物件。 1.Self 指當前視窗頁面,就是wind

Java 設計模式實戰狀態模式「模擬系統營銷活動狀態流程稽核釋出上線場景」

![](https://img-blog.csdnimg.cn/20200702222126624.png) 作者:小傅哥 部落格:[https://bugstack.cn](https://bugstack.cn) - `原創系列專題文章` >沉澱、分享、成長,讓自己和他人都能有所收穫!

前端學習筆記之jsapply()和call()方法

經過網上的大量搜尋,漸漸明白了apply()和call方法的使用,為此寫一篇文章記錄一下。 定義 apply()方法: Function.apply(obj,args)

資料爬蟲(三)pythonrequests庫使用方法

一、什麼是Requests Requests 是⽤Python語⾔編寫,基於urllib,採⽤Apache2 Licensed開源協議的 HTTP 庫。它⽐ urllib 更加⽅便,可以節約我們⼤量的⼯作,完全滿⾜HTTP測試需求。 ⼀句話——Python實現的簡單易

js三種作用域(全域性函式塊級)

1.全域性變數:宣告在函式外部的變數(所有沒有var直接賦值的變數都屬於全域性變數) 2.區域性變數:宣告在函式內部的變數(所有沒有var直接賦值的變數都屬於全域性變數) JS中變數申明分顯式申明和隱

整理C++sprintf()函式的使用

sprintf 是個變參函式,定義如下:int sprintf( char *buffer, const char *format [, argument] ... ); 除了前兩個引數型別固定外,後面可以接任意多個引數。而它的精華,顯然就在第二個引數:(1)格式化字串上。printf 和sprintf 都使

Linux管道程式設計技術dup函式,dup2函式,open函式

(一)dup函式,dup2()函式 1.dup和dup2也是兩個非常有用的呼叫,它們的作用都是用來複制一個檔案的描述符。它們經 常用來重定向程序的stdin、stdout和stderr。這兩個函式的 原形如下: #include <unistd.h>    i

學習筆記之js匯出表格到excel+原始碼

在系統開發中,經常會遇到要將一個表格資料匯出到excel中,剛剛做完,把示例程式碼共享一下,話不多說直接上程式碼。 <!DOCTYPE html> <html> <head lang="en"> <meta c

Android的介面回撥回撥機制以Activity和Adapter傳遞資料為例。

首先解決啥是回撥: 我覺得這個例子比較好:某天,我打電話向你請教問題,當然是個難題,你一時想不出解決方法,我又不能拿著電話在那裡傻等,於是我們約定:等你想出辦法後打手機通知我,這樣,我就掛掉電話辦其它事情去了。過了XX分鐘,我的手機響了,你興高采烈的說問題已經搞定,應該

[轉載]最詳盡的 JS 原型與原型鏈終極沒有「可能是」。(一)

三篇文章都更新完畢,完整的剖析了 JS 原型與原型鏈,希望通過這些教程能讓你對 Javascript 這門語言理解的更透徹!一. 普通物件與函式物件JavaScript 中,萬物皆物件!但物件也是有區別的。分為普通物件和函式物件,Object 、Function 是 JS 自帶的函式物件。下面舉例說明var

轉載 最詳盡的 JS 原型與原型鏈終極沒有「可能是」。(一)

-s 繼續 沒有 clas 程序設計 target 普通 fop 曾經 轉自:https://www.jianshu.com/p/dee9f8b14771 三篇文章都更新完畢,完整的剖析了 JS 原型與原型鏈,希望通過這些教程能讓你對 Javascript 這門語言

Mysql高手系列 - 第10篇常用的幾十個函式收藏慢慢看

這是Mysql系列第10篇。 環境:mysql5.7.25,cmd命令中進行演示。 MySQL 數值型函式 函式名稱 作 用 abs 求絕對值 sqrt 求二次方根 mod 求餘數 ceil 和 ceiling 兩個函式功能相同,都是返回不小於引數的最小整數,即向上取整 floo

css3筆記系列-3.css的各種選擇器看後悔系列

  最詳細的css3選擇器解析   選擇器是什麼?   比較官方的解釋:在 CSS 中,選擇器是一種模式,用於選擇需要新增樣式的元素。        最常見的 CSS 選擇器是元素選擇器。換句話說,文件的元素就是最基本

Hive 的四種排序再也會混淆用法了

Hive 中的四種排序 排序操作是一個比較常見的操作,尤其是在資料分析的時候,我們往往需要對資料進行排序,hive 中和排序相關的有四個關鍵字,今天我們就看一下,它們都是什麼作用。 資料準備 下面我們有一份溫度資料,tab 分割 2008    32.02008&nb

Java基礎面向物件-介面(interface)

介面 1. 介面概念 介面是功能的集合,同樣可看做是一種資料型別,是比抽象類更為抽象的”類”。 介面只描述所應該具備的方法,並沒有具體實現,具體的實現由介面的實現類(相當於介面的子類)來完成。這樣將功能的定義與實現分離,優化了程式設計。 請記住:一切事物均有功能,即一切事物均

Java基礎面向物件-抽象類(abstract)

抽象類,什麼是抽象類? 1. 抽象類的產生 當編寫一個類時,我們往往會為該類定義一些方法,這些方法是用來描述該類的功能具體實現方式,那麼這些方法都有具體的方法體。 但是有的時候,某個父類只是知道子類應該包含怎麼樣的方法,但是無法準確知道子類如何實現這些方法。比如一個圖形類應該有一

JavaJava 8關於流的新功能

在Java 8 中的Java.io包和java.nio包中增添了一些方便、實用的操作I/O的方法,這裡的nio是java nonblocking input output(非阻塞IO)的簡寫。 下面簡要介紹其中的一些主要方法。 1、Java.io.BufferedRea

【搞定Java併發程式設計】第22篇Java的阻塞佇列 BlockingQueue

上一篇:Java併發容器之ConcurrentHashMap詳解 本文目錄: 1、阻塞佇列的基本概念 2、ArrayBlockingQueue 2.1、ArrayBlockingQueue的基本使用 2.2、ArrayBlockingQueue原理概要 2.3、ArrayBl

【搞定Java併發程式設計】第28篇Java的執行緒池

上一篇:Java中的併發工具類之執行緒間交換資料的 Exchanger 本文目錄: 1、執行緒池的實現原理  2、執行緒池的使用 2.1、執行緒池的建立 2.2、向執行緒池提交任務 2.3、關閉執行緒池 2.4、合理地配置執行緒池 2.5、執行緒池的監控

Java程式設計基礎在Mybatis註解使用typeHandler實現Java列舉與資料庫int值的自動轉換

概述 在專案開發過程中經常會遇到資料庫儲存的是數值,在Java程式碼列舉表示的欄位。這些欄位在儲存和查詢時需要做一個轉換:寫資料庫的時候將列舉轉換為數字,讀資料庫時將數字轉換為列舉。 下面介紹一種通過mybatis註解實現資料型別自動轉換的方式。該方式能處理