Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 国产免费人成在线看视频,最近中文字幕在线看免费视频,91免费国产视频

          整合營銷服務商

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

          免費咨詢熱線:

          HTML常用標簽

          TML常用標簽有:a標簽、table標簽、img標簽、form標簽和input標簽。

          a標簽

          作用

          1. 跳轉到外部網頁
          2. 跳轉到內部錨點
          3. 跳轉到郵箱或電話等

          屬性

          (一)href

          href是hyper reference的縮寫,超鏈接的意思。

          用于指定鏈接目標的ur地址,(必須屬性)當為標簽應用href屬性時,它就具有了超鏈接的功能;
          href=“#”表示這是一個空鏈接;
          如果href里面地址是—個文件或者壓縮包,會下載這個文件。

          <a href="https://google.com">超鏈接到google網站的主頁</a>
           <a href="https://google.com">超鏈接到google的主頁</a>
           <a href="//google.com">超鏈接到google的主頁</a>

          展現形式:

          點擊此鏈接,即可到達google的主頁

          a標簽href的取值:

          1、上述代碼中的網址的取值(推薦使用第三行的代碼)

          <a href="//google.com">超鏈接到google的主頁</a>

          由于此方式能夠自動補齊相關的網絡地址,前面兩種寫錯就會報錯,所以推薦使用。

          2、路徑

          • /a/b/c 或者是a/b/c

          當前路徑下的a里面的b,b里面的c

          • index.html 以及./index.html

          在當前目錄下尋找index.html文件

          3、偽協議

          • javascript:代碼;(冒號與分號一定要寫)
          <a href="javascript:;">點擊后無任何點擊或刷新等動作的反應</a>
          • 錨點鏈接
          <a href="#要跳轉的元素的id"></a>

          點擊鏈接的時候,會跳轉到指定元素所在的位置。

          • mailto:郵箱
          <a href="mailto:abcdefg@163.com ">發郵件給我</a>
          • tel:手機號
          <a href="tel:12345678901">打電話給我</a>

          (二)targe

          用于指定鏈接頁面的打開方式

          a的target取值

          1、內置名字

          _blank 在空白頁打開

          _self 在當前頁面打開

          _parent 在父級窗口打開

          _top 在最頂級的窗口打開

          <a href="//google.com" target="_blank">超鏈接到google網站的主頁在空白頁打開</a>

          2、程序員的命名

          window:name(在xxx頁面打開)

          iframe的name(iframe現在已經很少使用了,是指內嵌窗口)


          (三)download

          下載頁面,但目前很少用,有的瀏覽器不支持,尤其是手機瀏覽器可能不支持。

          table標簽

          1、table標簽的語法:

          thead:表頭

          tbody:表的內容,用于定義

          tfoot:表的腳部

          tr:table row,表格里的行

          th:表格的表頭部分,其中的文本內容字體加粗居中顯示

          td:table data,表格數據,用于定義表格中的單元格

          <!DOCTYPE html>
          <html lang="zh-CN">
            <head>
              <meta charset="UTF-8" />
              <meta name="viewport" content="width=device-width, initial-scale=1.0" />
              <meta http-equiv="X-UA-Compatible" content="ie=edge" />
              <title>Document</title>
            </head>
            <body>
              <table>
                <thead>
                  <tr>
                    <th></th>
                    <th>小紅</th>
                    <th>小黃</th>
                    <th>小藍</th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <th>數學</th>
                    <td>90</td>
                    <td>60</td>
                    <td>80</td>
                  </tr>
                  <tr>
                    <th>語文</th>
                    <td>88</td>
                    <td>95</td>
                    <td>97</td>
                  </tr>
                  <tr>
                    <th>英語</th>
                    <td>88</td>
                    <td>95</td>
                    <td>97</td>
                  </tr>
                </tbody>
                <tfoot>
                  <tr>
                    <th>總分</th>
                    <td>266</td>
                    <td>250</td>
                    <td>274</td>
                  </tr>
                </tfoot>
              </table>
            </body>
          </html>
          



          第一行的th標簽為空

          2、table的樣式

          table-layout:auto;自動計算每一行的寬高

          table-layout:fixed;通過列表的寬度來決定平均寬度

          border-collapse:collapse; 合并邊框(默認邊框與邊框之間不合并)

          border-spacing:0;邊框為0.(邊框與邊框之間的距離)。

          img標簽(圖片)

          作用:發出get請求,展示一張圖片。

          <img src="1.JPG" alt="頭像" width="400" />

          當前路徑下的1.jpg,確定寬度為400,只寫寬度高度會自適應

          屬性

          alt:alternate的縮寫,替換的意思。替換文本,圖像不能顯示的文字。

          路徑錯誤顯示alt內容

          title:提示文本。鼠標放到圖像上,顯示的文字。

          響應

          max-width:100% 所有的圖片在手機上都自適應寬度,寬度最大為100%。

          事件

          onload/onerror 監聽圖片是否加載成功,加載成功時用onload,不成功是用onerror事件。確保在onerror事件能夠補救。

          <body>
           <img id="xxx" src="dog.jpg" alt="一只小狗">
          <script>
          xxx.onload = function () {
          console.log("圖片加載成功");
           };
          xxx.onerror = function () {
          console.log("圖片加載失敗");
          xxx.src = "/404.jpg";
           };
          </script>
          </body>

          監聽成功時,打印出成功

          監聽失敗時,先打印出監聽失敗并且開始執行加載失敗是的挽救圖片。404.jpg文件執行

          感想:

          • a標簽的默認樣式可以設置清除,href屬性可以有好多種取值,a標簽的意義也不僅僅是跳轉到一個網址,還可以發郵件打電話。
          • 給img標簽設置寬度和高度時,不能讓圖片變形
          • table標簽必須按照thead,tbody,tfoot的結構去寫,先劃分好結構,再往里填充內容,即使tfoot寫在前面,也會顯示在頁面的尾部

          本文為作者本人的原創文章,著作權歸作者本人和饑人谷所有,轉載務必注明來源。

          程序開發過程中,有時候需要對一個目錄下的文件進行批量操作。如果我們手動去一個個查找、處理,那么效率極低,還容易出錯。因此,我們可以使用node.js,來實現一個遍歷指定目錄下所有文件并生成json的腳本。

          什么是node.js

          node.js是一種流行的后端JavaScript運行時環境,基于Chrome V8引擎構建。它使得JavaScript代碼能夠在服務器上被執行,同時還支持網絡編程協議,并提供了豐富的庫和工具鏈,方便開發人員快速構建高性能、可擴展的應用程序。


          遍歷指定目錄下所有文件

          我們將使用node.js,實現一個遞歸遍歷指定目錄下所有文件的方法。假設我們要遍歷的目錄名為dir,那么我們可以采用以下步驟:

          1、使用fs.readdirSync(dir)方法讀取目錄中的所有文件和子目錄;

          2、對每個文件和子目錄進行判斷:

          * 如果是目錄,則遞歸調用本方法;

          * 如果是文件,則記錄其路徑并添加到一個數組中。

          示例代碼:

          const fs = require('fs');
          const path = require('path');
          
          function traverseDir(dir) {
            const result = [];
            const files = fs.readdirSync(dir);
            for (const file of files) {
              const filePath = path.join(dir, file);
              if (fs.statSync(filePath).isDirectory()) {
                // 如果是目錄,則遞歸調用本方法
                result.push(...traverseDir(filePath));
              } else {
                // 如果是文件,則記錄其路徑
                result.push(filePath);
              }
            }
            return result;
          }
          
          const files = traverseDir('./dir');
          console.log(files);
          


          生成JSON

          有了遍歷指定目錄下所有文件的方法,我們接下來,可以將這些文件名組成的數組,轉化為一個JSON對象。假設我們要生成的json文件名為 result.json ,那么我們可以按照以下步驟進行操作:

          1、初始化一個空數組;

          2、遍歷處理得到的所有文件名,并使用path.parse()方法獲取每個文件的基本信息;

          3、將每個文件的基本信息包裝成一個對象并添加到數組中;

          4、將這個數組寫入到result.json文件中。

          示例代碼:

          const fs = require('fs');
          const path = require('path');
          
          function traverseDir(dir) {
            const result = [];
            const files = fs.readdirSync(dir);
            for (const file of files) {
              const filePath = path.join(dir, file);
              if (fs.statSync(filePath).isDirectory()) {
                result.push(...traverseDir(filePath));
              } else {
                result.push({
                  filename: path.basename(filePath),
                  extname: path.extname(filePath),
                  path: filePath,
                });
              }
            }
            return result;
          }
          
          const files = traverseDir('./dir');
          fs.writeFileSync('result.json', JSON.stringify(files, null, 2));


          生成樹形結構JSON

          如果您需要一個樹形結構的數據格式,我們稍加改動上面的示例代碼即可。

          示例代碼:

          const fs = require("fs");
          const path = require("path");
          
          // 遍歷指定目錄下的所有文件,并將信息保存到JSON對象中
          function traverseDirToTree(dir) {
            const result = [];
            const files = fs.readdirSync(dir);
          
            for (const file of files) {
              const filePath = path.join(dir, file);
              const stat = fs.statSync(filePath);
          
              // 如果是文件夾,遞歸遍歷
              if (stat.isDirectory()) {
                result.push({
                  name: file,
                  type: "directory",
                  children: traverseDirToTree(filePath),
                });
              } else {
                result.push({
                  name: file,
                  type: "file",
                  size: stat.size,
                  modified: stat.mtime,
                });
              }
            }
          
            return result;
          }
          
          const files = traverseDirToTree("./dir");
          fs.writeFileSync("result.json", JSON.stringify(files, null, 2));


          希望本文能夠對您有所幫助,感謝您的閱讀!

          人人為我,我為人人,謝謝您的瀏覽,我們一起加油吧。

          jango并不象其他WEB語言,可以在前端頁面指定圖片,CSS等靜態資源的路徑就能直接訪問。

          要使用靜態資源,還需要一些必要的設置。


          1,在項目app目錄中新建一個static目錄

          static目錄再創建一個css目錄,放一個style.css文件

          在static目錄放一個 1.png 圖片


          2,配置項目的settings.py文件


          STATIC_URL = '/static/'

          STATICFILES_DIRS = (

          os.path.join(BASE_DIR, 'static').replace('\', '/'),

          )


          3,配置urls.py文件

          加入如下url:

          url(r'^static/(?P<path>.*)', serve, {'document_root': '/myweb/web/static'}),



          配置完后就可以在前端頁面使用靜態資源了,

          比如引用css文件:<link rel="stylesheet" href="./static/css/style.css">

          比如引用圖片:<img src="static/1.png">


          主站蜘蛛池模板: 国模精品一区二区三区视频| 国模吧一区二区三区精品视频| 日韩A无码AV一区二区三区| 在线精品动漫一区二区无广告| 中文激情在线一区二区| 国产一区二区视频在线观看| 韩国一区二区三区| 日本在线视频一区二区| 亚洲AV午夜福利精品一区二区| 亚洲国产综合无码一区二区二三区| 成人区人妻精品一区二区三区| 人妻少妇精品视频一区二区三区| 久久久国产一区二区三区| 成人国产精品一区二区网站| 日本免费一区二区三区最新 | 午夜福利无码一区二区| 91秒拍国产福利一区| 亚洲国产一区二区a毛片| 无码精品人妻一区二区三区漫画| 2014AV天堂无码一区| 国产在线无码视频一区二区三区 | 国产精品毛片a∨一区二区三区| 国产一区二区三区精品久久呦| 福利国产微拍广场一区视频在线 | 夜夜精品视频一区二区| 中字幕一区二区三区乱码 | 日韩十八禁一区二区久久| 国产一区二区三区无码免费| 国产SUV精品一区二区88L | 亚洲av综合av一区二区三区| 精品欧洲av无码一区二区三区| 无码国产精品一区二区免费虚拟VR| 中文字幕一区二区三区5566| 中字幕一区二区三区乱码| 国产aⅴ一区二区| 中文字幕精品亚洲无线码一区| 久久一区二区三区免费播放| 亚洲香蕉久久一区二区三区四区| 精品国产一区二区三区在线| 亚洲一区二区精品视频| 日本不卡一区二区视频a|