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 91av国产在线,久久精品在线,最近中文字幕完整国语视频

          整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          先睹為快即將到來的HTML6

          先睹為快即將到來的HTML6

          文由掘金@天行天忌授權(quán)發(fā)布,前端晚間課對其內(nèi)容進(jìn)行微改。


          HTML,超文本標(biāo)記語言,是一種用于創(chuàng)建網(wǎng)頁的標(biāo)準(zhǔn)標(biāo)記語言。自從引入 HTML 以來,它就一直用于構(gòu)建互聯(lián)網(wǎng)。與 JavaScript 和 CSS 一起,HTML 構(gòu)成前端開發(fā)的三劍客。

          盡管許多新技術(shù)使網(wǎng)站創(chuàng)建過程變得更簡單、更高效,但 HTML 始終是核心。隨著 HTML5 的普及,在 2014 年,這種標(biāo)記語言發(fā)生了很多變化,變得更加友好,瀏覽器對新標(biāo)準(zhǔn)的支持熱度也越來越高。而HTML并不止于此,還在不斷發(fā)生變化,并且可能會獲得一些特性來證明對 HTML6 的命名更改是合理的。

          支持原生模式

          該元素<dialog> 將隨 HTML6 一起提供。它被認(rèn)為等同于用 JavaScript 開發(fā)的模態(tài),并且已經(jīng)標(biāo)準(zhǔn)化,但只有少數(shù)瀏覽器完全支持。但這種現(xiàn)象會改變,很快它將在所有瀏覽器中得到支持。

          這個(gè)元素在其默認(rèn)格式下,只會將光標(biāo)顯示在它所在的位置上,但可以使用 JavaScript 打開模式。

          <dialog>
            <form method="dialog">
              <input type="submit" value="確定" />
              <input type="submit" value="取消" />
            </form>
          </dialog>

          在默認(rèn)形式下,該元素創(chuàng)建一個(gè)灰色背景,其下方是非交互式內(nèi)容。

          可以在 <dialog> 其中的表單上使用一種方法,該方法將發(fā)送值并將其傳遞回自身 <dialog>

          總的來說,這個(gè)標(biāo)簽在用戶交互和改進(jìn)的界面中變得有益。

          可以通過更改 <dialog> 標(biāo)簽的 open 屬性以控制打開和關(guān)閉。

          <dialog open>
            <p>組件內(nèi)容</p>
          </dialog>

          沒有 JavaScript 的單頁應(yīng)用程序

          FutureClaw 雜志主編 Bobby Mozumder 建議:

          將錨元素鏈接到 JSON/XML、API 端點(diǎn),讓瀏覽器在內(nèi)部將數(shù)據(jù)加載到新的數(shù)據(jù)結(jié)構(gòu)中,然后瀏覽器將 DOM 元素替換為根據(jù)需要加載的任何數(shù)據(jù)。初始數(shù)據(jù)(以及標(biāo)準(zhǔn)錯(cuò)誤響應(yīng))可以放在標(biāo)題裝置中,如果需要,可以稍后替換。

          據(jù)他介紹,這是單頁應(yīng)用程序網(wǎng)頁設(shè)計(jì)模式,可以提高響應(yīng)速度和加載時(shí)間,因?yàn)椴恍枰虞d JavaScript。

          這個(gè)是一個(gè)比較有意思的提案,就有點(diǎn)類似我們以前沒有做前后端分離之前的混合編程的模式,HTML變成模板語言,通過JSON API請求數(shù)據(jù),不一樣的是變成瀏覽器來默認(rèn)解析,瀏覽器內(nèi)部加載數(shù)據(jù)到新的數(shù)據(jù)結(jié)構(gòu)中,然后瀏覽器將按需加載到的數(shù)據(jù)替換成 DOM 元素

          大家可以看一下InfoQ上的這篇文章《針對非正式 HTML6 提案“無需 JavaScript 的單頁應(yīng)用”引發(fā)的論戰(zhàn)》,了解更多!

          https://www.infoq.cn/article/2015/03/html6-without-javascript


          自由調(diào)整圖像大小

          HTML6 愛好者相信即將到來的更新將允許瀏覽器調(diào)整圖像大小以獲得更好的觀看體驗(yàn)。

          每個(gè)瀏覽器都難以呈現(xiàn)相對于設(shè)備和屏幕尺寸的最佳圖像尺寸,不幸的是,src 標(biāo)簽 img 在處理這個(gè)問題時(shí)不是很有效。

          這個(gè)問題可以通過一個(gè)新標(biāo)簽 <srcset> 來解決,它使瀏覽器在多個(gè)圖像之間進(jìn)行選擇的工作變得更加容易。

          專用庫

          將可用庫引入 HTML6 絕對是提高開發(fā)效率的重要一步。

          微格式

          很多時(shí)候,需要在互聯(lián)網(wǎng)上定義一般信息,而這些一般信息可以是任何公開的信息,例如電話號碼、姓名、地址等。微格式是能夠定義一般數(shù)據(jù)的標(biāo)準(zhǔn)。微格式可以增強(qiáng)設(shè)計(jì)者的能力,并可以減少搜索引擎推斷公共信息所需的努力。

          自定義菜單

          盡管標(biāo)簽<ul>、<ol>非常有用,但在某些情況下仍有一些不足之處??梢蕴幚斫换ピ氐臉?biāo)簽將是一個(gè)不錯(cuò)的選擇。

          這就是創(chuàng)建標(biāo)簽 <menu> 的驅(qū)動力,它可以處理按鈕驅(qū)動的列表元素。

          <menu type="toolbar">
            <li><button>個(gè)人信息</button></li>
            <li><button>系統(tǒng)設(shè)置</button></li>
            <li><button>賬號注銷</button></li>
          </menu>

          因此 <menu>,除了能夠像普通列表一樣運(yùn)行之外,還可以增強(qiáng) HTML 列表的功能。

          增強(qiáng)身份驗(yàn)證

          雖然HTML5在安全性方面還不錯(cuò),瀏覽器和網(wǎng)絡(luò)技術(shù)也提供了合理的保護(hù)。毫無疑問,在身份驗(yàn)證和安全領(lǐng)域還有很多事情可以做。如密鑰可以異地存儲;這將防止不受歡迎的人訪問并支持身份驗(yàn)證。使用嵌入式密鑰而不是 cookie,使數(shù)字簽名更好等。

          集成攝像頭

          HTML6 允許以更好的方式使用設(shè)備上的相機(jī)和媒體。將能夠控制相機(jī)、它的效果、模式、全景圖像、HDR 和其他屬性。

          總結(jié)

          沒有什么是完美的,HTML 也不是完美的,所以 HTML 規(guī)范可以做很多事情來使它更好。應(yīng)該對一些有用的規(guī)范進(jìn)行標(biāo)準(zhǔn)化,以增強(qiáng) HTML 的能力。小的變化已經(jīng)開始推出。如增強(qiáng)藍(lán)牙支持、p2p 文件傳輸、惡意軟件保護(hù)、云存儲集成,下一個(gè) HTML 版本可以考慮一下。


          者:劉小夕

          轉(zhuǎn)發(fā)鏈接:https://mp.weixin.qq.com/s/aEbqUt3zSnq8EjdBtkBcpw

          在PC端用.NET開發(fā)一個(gè)藍(lán)牙下載的程序。實(shí)現(xiàn)在PC上查找周圍的藍(lán)牙設(shè)備(主要是手機(jī)),并將PC上的文件通過藍(lán)牙傳輸?shù)绞謾C(jī)上。目前我采用的是OpenNETCF.Net.Bluetooth,能夠正常發(fā)現(xiàn)周圍的藍(lán)牙設(shè)備,手機(jī)也能夠正常進(jìn)行藍(lán)牙連接并接收文件。

          代碼實(shí)現(xiàn)

          1、查找周圍藍(lán)牙設(shè)備

          BluetoothClient bc=new BluetoothClient();
                  BluetoothDeviceInfo[] bdi;
                  bdi=bc.DiscoverDevices(10);//查找周圍最多10個(gè)藍(lán)牙設(shè)備
                  if (bdi.Length==0)
                  {
                      this.ShowErrMsg("請確認(rèn)您的藍(lán)牙已開啟!");
                      return;
                  }

          2、打開數(shù)據(jù)流

           #region OBEXOpenStream
              public bool OBEXOpenStream(string BTMAC)
              {
          
                  // serial port UUID
                  Guid spguid=OpenNETCF.Net.Bluetooth.BluetoothService.ObexObjectPush;
                  OpenNETCF.Net.BluetoothAddress btaddress=OpenNETCF.Net.BluetoothAddress.Parse(BTMAC);
                  client=new OpenNETCF.Net.Sockets.BluetoothClient();
          
                  // define endpoint
                  OpenNETCF.Net.BluetoothEndPoint endpoint=new OpenNETCF.Net.BluetoothEndPoint(btaddress, spguid);
          
                  try
                  {
                      //open socket
                      client.Connect(endpoint);
                  }
                  catch
                  {
                      //unable to connect (server not listening on spguid)
                      return false;
                  }
          
                  //connect socket
                  stream=client.GetStream();
                  return true;
              }
              #endregion

          3、配對連接

           private bool OBEXConnect()
              {
                  //send client request
                  byte[] ConnectPacket=new byte[7];
          
                  ConnectPacket[0]=0x80;      // Connect
                  ConnectPacket[1]=0x00;      // Packetlength Hi Byte
                  ConnectPacket[2]=0x07;      // Packetlength Lo Byte
                  ConnectPacket[3]=0x10;      // Obex v1
                  ConnectPacket[4]=0x00;      // no flags
                  ConnectPacket[5]=0x20;      // 8k max packet size Hi Byte
                  ConnectPacket[6]=0x00;      // 8k max packet size Lo Byte
          
                  stream.Write(ConnectPacket, 0, ConnectPacket.Length);
          
                  //listen for server response
                  byte[] ReceiveBufferA=new byte[3];
                  stream.Read(ReceiveBufferA, 0, 3);
          
                  if (ReceiveBufferA[0]==160) // 0xa0
                  {
          
                      //success, decode rest of packet
                      int plength=(0xff * ReceiveBufferA[1]) + ReceiveBufferA[2]; //length of packet is...
          
                      //listen for rest of packet
                      byte[] ReceiveBufferB=new byte[plength - 3];
                      stream.Read(ReceiveBufferB, 0, plength - 3);
          
                      int obver=ReceiveBufferB[0]; //server obex version (16=v1.0)
                      int cflags=ReceiveBufferB[1]; //connect flags
                      int maxpack=(0xff * ReceiveBufferB[2]) + ReceiveBufferB[3]; //max packet size
          
                      return true;
                  }
                  else
                  {
                      return false;
                  }
              }

          4、發(fā)送文本內(nèi)容

            //send client request, start put
                                  string tName="BRT優(yōu)惠卷.txt";
                                  string tType="";
                                  string tFileContent="優(yōu)惠卷內(nèi)容:" + this.txtContent.Text.Trim();
          
                                  int result=OBEXRequest("PUT", tName, tType, tFileContent);
                                  if (result==160)
                                  {
                                      SendSuccess=true;
                                  }

          完整代碼


          主站蜘蛛池模板: 国产精品亚洲不卡一区二区三区 | 精品国产一区二区三区久久影院| 亚洲bt加勒比一区二区| 日本v片免费一区二区三区 | 国产a∨精品一区二区三区不卡| 国产韩国精品一区二区三区久久| 成人国产精品一区二区网站| 亚洲中文字幕在线无码一区二区| 爆乳熟妇一区二区三区| 国产精品综合一区二区三区| 日本一区二区三区不卡视频| 无码精品人妻一区二区三区漫画 | 91麻豆精品国产自产在线观看一区 | 国产综合一区二区在线观看| 国产AV一区二区精品凹凸| 中文字幕人妻第一区| 精品无码成人片一区二区98 | 国产乱码精品一区二区三区麻豆| 日本在线一区二区| 国产在线精品一区二区不卡| 国产在线观看一区精品 | 中文字幕亚洲乱码熟女一区二区 | 一区二区三区免费视频观看 | 亚洲欧洲精品一区二区三区| 无码少妇一区二区| 一区二区免费视频| 性色av一区二区三区夜夜嗨| 无码少妇一区二区性色AV| 欧洲无码一区二区三区在线观看| 日韩精品无码免费一区二区三区| 一区二区视频在线| 亚洲国产情侣一区二区三区| 国产一区二区久久久| 国产精品盗摄一区二区在线| 福利片福利一区二区三区| 国产精品一区12p| 射精专区一区二区朝鲜| 亚洲另类无码一区二区三区| 精品亚洲福利一区二区| 成人国产精品一区二区网站| 亚洲日韩精品无码一区二区三区|