整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          帶你走進JavaScript世界系列-top、parent 和 self 對象介紹

          果頁面中包含框架,則每個框架都擁有自己的 window 對象,并且保存在 frames 集合中, 在frames 集合中,可以通過索引 或者框架名稱來訪問相應的 window 對象。每個 window 對象都有一個 name 屬性,其中包含框的名稱。請看下面一個包含框架的頁面:

          頁面框架結構

          上面的代碼創建了一個框架集,其中一個框架居中,兩個框架居下。對于上面的例子,可以通過 window.frames[0] 或者 window.frames['topFrame'] 來引用上方的框架。不過,最好使用 top 而非 window 來引用這些框架。

          top 對象

          top 對象始終指向最高(外)層的框架,也就是瀏覽器窗口。使用它可以確保在一個框架中正確地訪問另外一個框架。因為對于在一個框架中編寫的任何代碼來說,其中的 window 對象指向的都是那個框架的特定實例,而非最高層框架,下圖展示了在最高層窗口中,通過代碼來訪問上面例子中每個框架的不同方式:

          通過代碼訪問上面例子中每個框架的不同方式

          parent 對象

          與 top 相對另一個 window 對象是 parent。parent 對象始終指向當前框架的 直接上層框架。在某些情況下,parent 有可能等于 top;在沒有框架的情況下,parent 一定等于 top (此時它們都等于 window)。請看下面的例子:

          anotherframe2.htm

          在瀏覽器加載完第一個框架后,會繼續將第二個框架加載到 rightFrame 中。如果代碼位于 redFrame (或 blueFrame )中,那么 parent 對象指向的就是 rightFrame。如果代碼位于 topFrame 中 ,則 parent 指向的是 top ,因為 topFrame 的直接上層框架就是最外層框架。

          注意,除非最外層窗口是通過 window.open() 打開的,否則其 window 對象的 name 屬性不會包含任何值

          self 對象

          與框架有關的最后一個對象是 self ,它始終指向 window 。實際上,self 和 window 對象是可以互換使用的。引入 self 對象的目的就是為了與 top 和 parent 對象對應起來,因此它不格外包含其他值。

          、爬蟲程序編寫模板的結構:

          # 導入請求模塊

          from urllib import request

          # 導入轉碼模塊

          from urllib import parse

          # 導入隨機生成請求頭模塊

          from fake_useragent import UserAgent

          # 程序結構

          class xxxSpider(object):

          def __init__(self):

          # 定義常用變量,比如url或計數變量等

          def get_html(self):

          # 組合url,并獲取響應內容函數,使用隨機User-Agent

          def parse_html(self):

          # 使用正則表達式來解析頁面,提取數據

          def write_html(self):

          # 將提取的數據按要求保存,csv、MySQL數據庫等

          def run(self):

          # 主函數,用來控制整體邏輯

          if __name__ == '__main__':

          # 程序開始運行時間

          spider = xxxSpider()

          spider.run()


          二、請求頭池(直接放在一個ua_info.py文件中提供隨機調用)

          ua_list = [

          'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0)',

          'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11',

          'User-Agent:Opera/9.80 (Windows NT 6.1; U; en) Presto/2.8.131 Version/11.11',

          'Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1',

          'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)',

          'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50',

          'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)',

          'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)',

          'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)',

          'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1'

          ]

          調用方式在py文件中引用:

          from ua_info import ua_list

          self.headers = {"User-Agent": random.choice(ua_list)}

          TML元素的屬性

          屬性是為HTML元素提供的附加信息。

          為相同的HTML元素指定不同的屬性,會呈現不同的功能或效果。

          舉個例子:

          比如我們在上一篇中練習過的<a></a>標簽構成的超鏈接元素中有一個href屬性,這個屬性指定的是點擊后跳轉的頁面地址,相同的<a>標簽改變href屬性就能跳轉不同的頁面。例如

          <a href="https://www.bilibili.com/read/cv2720755">殲-20戰斗機</a>
          <a href="http://mil.chinanews.com/mil/hd2011/2014/03-06/315569.shtml">殲-20戰斗機</a><!-- 注釋 看起來一樣的超鏈接元素因為href屬性不同,打開的頁面也不同。-->

          小伙伴們自己寫的時候要注意使用半角符號,不然不能正確打開鏈接。

          超鏈接元素中還有一個控制鏈接頁面打開的屬性叫做target,是用來控制新打開頁面窗口的位置。下面我們就看看target屬性為_blank和_parent的情況下的不同。例如

          <a href="https://www.bilibili.com/read/cv2720755" target="_blank">殲-20戰斗機</a>
          <a href="http://mil.chinanews.com/mil/hd2011/2014/03-06/315569.shtml" target="_parent">殲-20戰斗機</a><!-- 注釋 看起來一樣的超鏈接元素因為target屬性不同,打開的頁面所在窗口不同。-->

          測試后,target="_blank"時,新頁面在測試頁面窗口旁邊新建一個窗口打開。

          target="_parent"時,新頁面在原有測試頁面窗口中打開。

          如圖所示:

          左邊為_blank,右邊為_parent,點擊左邊鏈接后,新窗口在原有窗口旁邊打開。如下圖:

          點擊右側

          新頁面在原窗口處打開。

          <a>標簽的target屬性還有_self、_top這樣的屬性,感興趣的小伙伴可以自行測試。

          一般HTML元素的通用屬性有:class 、id 、style 、title這四類,其中class 、id 、style這三個屬性會在CSS的講解中詳細學習。

          下面我們通過練習來看看title屬性的作用。

          HTML元素屬性使用練習1

          NO.1: title

          title屬性用于顯示元素的額外信息使用。示例代碼如下:

          <!DOCTYPE HTML>
            <html>
            <head> 
            <title>第一個網頁</title>
          </head> 
          <body>
            <h1>第一個網頁</h1><hr>
          <a href="https://www.bilibili.com/read/cv2720755" target="_blank" title="中國最先進戰斗機">殲-20戰斗機</a>
          </body> 
          </html>

          效果如圖:當鼠標移動到超鏈接上時,"中國最先進戰斗機"的說明就出現在下側。

          NO.2:href/src/url

          這三個屬性雖然寫法不同,但都是為元素指定路徑使用的。不屬于通用屬性。

          例如<a>標簽中指定鏈接路徑使用的是href,而<img>標簽中導入圖片的路徑是src,url在css中也常用來引入鏈接。具體練習大家可以翻看《HTML中的元素使用方法2——零基礎自學網頁制作》一文。

          這里要介紹的是關于網頁中的路徑的兩個重要概念:絕對路徑相對路徑

          絕對路徑是指文件在硬盤上真正存在的路徑。

          相對路徑就是相對自己的目標文件的位置。

          怎么理解這兩個概念呢?舉個例子:

          如果我們要在"第一個頁面.html"中顯示一張圖片image1.jpg,它們都在我的"D盤/零基礎自學網頁制作"這個文件夾中。如圖:

          如果用絕對路徑導入寫法是這樣的:

          <img src="file:///D:/零基礎自學網頁制作/image1.jpg"/>

          相對路徑這樣寫:

          <img src="image1.jpg"/>

          大家觀察一下,也看出了絕對路徑與相對路徑的區別了。

          另外,這樣的鏈接也屬于絕對路徑:href="https://www.bilibili.com/read/cv2720755"

          那么什么時候使用相對路徑什么時候使用絕對路徑呢?這個問題我會在明天深入為大家講解,這涉及到網頁或網站上傳服務器的問題。

          做教程確實是沒什么人看,但是我依然會堅持,我是一名高校教師(認證資料等疫情結束后去辦公室拍攝上傳吧),把自己的知識寫出來對自己來說是一個提高,也把原來很多常用卻不甚了然的概念再次打磨清晰是我最大的收獲。本篇教程針對完全沒有基礎的網頁制作學習者,利用碎片時間學習,只要我們堅持,必然可以完成網頁制作的學習,為未來學習更加復雜的內容打下基礎!

          喜歡的小伙伴請關注我,閱讀中遇到任何問題請給我留言,如有疏漏或錯誤歡迎大家斧正,不勝感激!

          HTML完整學習目錄

          HTML序章(學習目的、對象、基本概念)——零基礎自學網頁制作

          HTML是什么?——零基礎自學網頁制作

          第一個HTML頁面如何寫?——零基礎自學網頁制作

          HTML頁面中head標簽有啥用?——零基礎自學網頁制作

          初識meta標簽與SEO——零基礎自學網頁制作

          HTML中的元素使用方法1——零基礎自學網頁制作

          HTML中的元素使用方法2——零基礎自學網頁制作

          HTML元素中的屬性1——零基礎自學網頁制作

          HTML元素中的屬性2(路徑詳解)——零基礎自學網頁制作

          使用HTML添加表格1(基本元素)——零基礎自學網頁制作

          使用HTML添加表格2(表格頭部與腳部)——零基礎自學網頁制作

          使用HTML添加表格3(間距與顏色)——零基礎自學網頁制作

          使用HTML添加表格4(行顏色與表格嵌套)——零基礎自學網頁制作

          16進制顏色表示與RGB色彩模型——零基礎自學網頁制作

          HTML中的塊級元素與內聯元素——零基礎自學網頁制作

          初識HTML中的<div>塊元素——零基礎自學網頁制作

          在HTML頁面中嵌入其他頁面的方法——零基礎自學網頁制作

          封閉在家學網頁制作!為頁面嵌入PDF文件——零基礎自學網頁制作

          HTML表單元素初識1——零基礎自學網頁制作

          HTML表單元素初識2——零基礎自學網頁制作

          HTML表單3(下拉列表、多行文字輸入)——零基礎自學網頁制作

          HTML表單4(form的action、method屬性)——零基礎自學網頁制作

          HTML列表制作講解——零基礎自學網頁制作

          為HTML頁面添加視頻、音頻的方法——零基礎自學網頁制作

          音視頻格式轉換神器與html視頻元素加字幕——零基礎自學網頁制作

          HTML中使用<a>標簽實現文本內鏈接——零基礎自學網頁制作


          主站蜘蛛池模板: 国产伦理一区二区三区| 91一区二区视频| 国产午夜毛片一区二区三区| 另类ts人妖一区二区三区| 精品人妻无码一区二区三区蜜桃一| 无码人妻久久久一区二区三区| 乱精品一区字幕二区| 色屁屁一区二区三区视频国产| 精品日韩一区二区三区视频| 国产精品视频一区二区三区不卡| 久久亚洲国产精品一区二区| 日韩精品一区二区亚洲AV观看| 日韩精品一区二区三区国语自制| 午夜视频久久久久一区 | 波多野结衣一区二区免费视频| 日本一区二区三区在线视频| 国产激情一区二区三区 | 一色一伦一区二区三区| 午夜视频久久久久一区| 精品无码日韩一区二区三区不卡| 鲁大师成人一区二区三区| 亚洲乱码国产一区三区| 日本中文一区二区三区亚洲| 97久久精品一区二区三区| 色窝窝无码一区二区三区色欲| 在线精品一区二区三区电影| 精品无码AV一区二区三区不卡| 波多野结衣电影区一区二区三区| 人妻体体内射精一区二区| 波多野结衣电影区一区二区三区| 国产一区二区在线视频| 国产香蕉一区二区在线网站| 精品人妻少妇一区二区| 无码视频一区二区三区| 亚洲熟妇无码一区二区三区导航| 成人毛片一区二区| 无码人妻精品一区二区三区9厂| 亚洲一区二区三区乱码在线欧洲| 中文字幕亚洲乱码熟女一区二区| 亚洲线精品一区二区三区影音先锋 | 亚洲国产精品乱码一区二区|