WEEX H5 Render 解讀(2)之加載步驟

接上篇文章,上一篇文章中寫道,weex h5 渲染經歷3次文檔加載:

  1. 加載index.html
  2. 加載weex框架
  3. 加載我們寫的程序

可能大家對第一步有疑問,明明它寫的是一長串url,而且這個url中并沒有index.html字樣。我是怎么知道加載了index.html呢?其實我是通過調試器發現的。



下面我們來閱讀index.html是怎么寫的

1. head標簽里的內容

<meta charset="utf-8">
  <title>Weex HTML5</title>
  <meta name="apple-mobile-web-app-capable" content="yes" />
  <meta name="apple-mobile-web-app-status-bar-style" content="black" />
  <meta name="apple-touch-fullscreen" content="yes" />
  <meta name="format-detection" content="telephone=no, email=no" />
  <style>
    html, body, #weex {
      width: 100%;
      height: 100%;
    }
  </style>
  <script src="./dist/weex.js"></script>

這里面的meta標簽是對ios web 進行全局處理的,不熟悉的話,可以百度。在head里利用script標簽引入了weex.js

2. body里的內容

body里的內容比較簡單只有一個div和一個script標簽。
在script里,定義了一個自執行函數。
<code>(function(){})();</code>
首先在自執行函數內部:

 function getUrlParam (key) {
      var reg = new RegExp('[?|&]' + key + '=([^&]+)')
      var match = location.search.match(reg)
      return match && match[1]
    }

這個函數主要用對url的參數進行過濾
<code>/[?|&]KEY=([^&]+)/</code>是用來匹配&KEY=testWorld值用的,testWorld是不能包含&字符的。
接下來:

    var loader = getUrlParam('loader') || 'xhr'
    var page = getUrlParam('page') || 'demo/build/index.js'

用于初始化loader和page參數,然后利用weex.init()實例化weex頁面

    window.weex.init({
      appId: location.href,
      loader: loader,
      source: page,
      rootId: 'weex'
    })

下面我們講對weex框架文件進行閱讀


為了支持簡書,請在簡書內閱讀,請勿轉載

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,836評論 18 139
  • 前言 2016年4月21日,阿里巴巴在Qcon大會上宣布跨平臺移動開發工具Weex開放內測邀請。Weex能夠完美兼...
    一縷殤流化隱半邊冰霜閱讀 39,053評論 135 366
  • 22年12月更新:個人網站關停,如果仍舊對舊教程有興趣參考 Github 的markdown內容[https://...
    tangyefei閱讀 35,207評論 22 257
  • 一:在制作一個Web應用或Web站點的過程中,你是如何考慮他的UI、安全性、高性能、SEO、可維護性以及技術因素的...
    Arno_z閱讀 1,204評論 0 1
  • 1.這周的任務 :完成java 基礎 今天早上線程,之后線程張孝祥! 明天:張孝祥 兩個面試題。 JAVA 星期天...
    雷一凡閱讀 184評論 0 0