整合營銷服務商

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

          免費咨詢熱線:

          Axure RP 8 教程 – 查看原型

          Axure RP 8 教程 – 查看原型

          xure小白的福利又來了,本教程主要講述查看原型的一系列基礎操作以及相關設置。

          希望大家邊學邊操作,學習效果更佳哦。

          Axure RP 8 教程 – 查看原型

          1.快速預覽查看原型

          快速原型的快捷鍵為“F5”。或者,單擊快捷鍵功能中的預覽圖標進行預覽。導航菜單“發布”-“預 覽選項”中進行預覽設置。

          2.生成HTML查看原型。

          生成原型的快捷鍵為“F8”。或者,單擊快捷鍵功能中生成圖標。還可以通過導航菜單“發布”-“生成原型文件”中進行生成。

          3.生成部分原型界面

          發布原型時,如果不需要將所有頁面生成或者發布,可以在生成HTML的設置中打開“頁面”的設置,取消“生成所有頁面”的勾選,則可以設置生成指定的頁面。注意,子級頁面無法單獨發布,勾選子級頁面時會自動勾選父級頁面。如果需要單獨發布子級頁面,需要在頁面管理面板將子級頁面的級別調整到一級頁面。

          4.為原型添加標志

          在生成HTML的設置中有“標志”的設置,可以為原型添加圖片標識或者文字標題。原型發布后會顯示在工具欄的頁面面板中。

          5.發布原型到AxShare

          發布原型到AxShare是將做好的原型發布到Axure官方提供的空間中,通過自動生成的網址進行訪問。發布到AxShare的快捷鍵為“F6”。發布到AxShare需要注冊相關賬號,網址為:http://share.axure.com/

          6.移動設備設置

          制作移動設備原型需要遵循規范將原型制作成標準尺寸。移動設備原型尺寸計算工具:http://www.iaxure.com/share/yxcc/ (個別移動設備可能會有出入)。

          除了制作標準原型尺寸,還需要在生成的HTML文件配置中,進行“移動設備”的設置,讓生成的HTMl文件“包含視圖接口標記”才可以正常顯示。

          7.web字體設置

          當原型使用一些特殊字體時,在沒有安裝該字體的設備上將無法正常顯示。web字體可以較好的解決這個問題。

          方法一

          需要網絡以及在線CSS文件支持,以FontAwesome字體為例。在web字體設置中,單擊“+”添加新的配置,勾選“鏈接到CSS文件”,將該字體官方網站提供的“.CSS”文件地址填入到超鏈接中即可。這樣只要瀏覽原型時有網絡支持,即可正常顯示字體。

          方法二

          支持在線字體和本地字體,以FontAwesome字體為例,圖中的src是在線字體代碼。

          如果是本地字體代碼應該為: font-family:FontAwesome

          src:url(’fontawesome-webfont.ttf’)format(‘true-type’)

          注:使用本地字體需要將字體文件“.ttf”復制到生成的HTML文件中。

          本文由 @Arthur 原創發布于人人都是產品經理。未經許可,禁止轉載。

          avascript面試重點


          什么是執行上下文

          執行上下文就是當前 JavaScript 代碼被解析和執行時所在環境的抽象概念, JavaScript 中運行任何的代碼都是在執行上下文中運行

          這是因為當函數執行的時候,首先會形成一個新的私有的作用域,然后依次按照如下的步驟執行

          • 如果有形參,先給形參賦值
          • 進行私有作用域中的預解釋,函數聲明優先級比變量聲明高,最后后者會被前者覆蓋,但是可以重新賦值
          • 私有作用域中的代碼從上到下執行

          閉包是什么

          個人理解為,閉包就是函數中的函數,里面的函數可以訪問外面函數的變量,外面的變量是這個內部函數的一部分

          閉包的作用

          • 使用閉包可以訪問函數中的變量
          • 可以長期保存在內存中,聲明周期比較長
          • 注意:閉包不能亂用,否則會導致內存泄露,影響網頁的性能。閉包使用完之后,要立即釋放資源,將引用的變量指向null

          閉包的主要應用

          • 函數作為參數傳遞
          • 函數作為返回值

          異步和單線程

          JS 需要異步的根本原因是 JS 是單線程運行的,即在同一時間只能做一件事,不能“一心二用”。為了利用多核CPU的計算能力,HTML5提出Web Worker標準,允許JavaScript腳本創建多個線程,但是子線程完全受主線程控制,且不得操作DOM。所以,這個新標準并沒有改變JavaScript單線程的本質。

          一個 Ajax 請求由于網絡比較慢,請求需要 5 秒鐘。如果是同步,這 5 秒鐘頁面就卡死在這里啥也干不了了。異步的話,就好很多了,5 秒等待就等待了,其他事情不耽誤做,至于那 5 秒鐘等待是網速太慢,不是因為 JS 的原因

          前端使用異步的場景

          • setTimeout setInterval
          • 網絡請求ajax,動態加載
          • 事件綁定

          原型和原型鏈

          原型:在JavaScript中原型是一個prototype對象,用于表示類型之間的關系。

          原型鏈:JavaScript萬物都是對象,對象和對象之間也有關系,并不是孤立存在的。對象之間的繼承關系,在JavaScript中是通過prototype對象指向父類對象,直到指向Object對象為止,這樣就形成了一個原型指向的鏈條,專業術語稱之為原型鏈。

           var Person=function(){
           			this.name='匿名',
           			this.age=18 
           		}
           		var Student=function(){}
           Student.prototype=new Person();
           var s1=new Student();
           
          

          DOM操作

          • 新增節點和移動節點
          var div1=document.getElementById('div1');
          var p1=document.creatElement('p'); //添加新節點
          p1.innerHTML="this is p1"; 
          div1.appendChild(p1); //添加新創建的元素
          var p2=document.getElementById('p2');
          div1.appendChild(p2); //移動元素,這里的p2不加引號
          
          • 獲取父元素
          var div1=document.getElementById('div1');
          var par=div1.parentElement;
          
          • 獲取子元素
          var p2=document.getElementById('p2');
          var child=p2.childNodes; //返回子元素的標簽數組
          

          DOM時間模型和事件流

          DOM事件模型氛圍捕獲和冒泡。 一個事件發生后,會在子元素和父元素之間傳播,這種傳播分成三個階段

          1. 捕獲階段 事件從window對象自上而下向目標節點傳播的階段
          2. 目標階段 真正的目標節點正在處理事件的階段
          3. 冒泡階段 事件從目標節點自下而上向window對象傳播的階段

          捕獲是從上到下,事件先從window對象,然后再到document對象,然后是html標簽,(通過document.documentElement獲取html標簽),然后是body標簽,(通過document.body獲取body標簽),然后按照普通的html結構一層一層往下傳,最后到達目標元素

          阻止冒泡

          ev.stopPropagation()
          

          事件代理(事件委托)

          由于事件會在冒泡的階段向上傳播到父節點,因此可以把子節點的監聽函數定義在父節點上,由父節點的監聽函數統一處理多個子元素的事件,這種方式叫做事件的代理

          我們設定一種場景,一個div包含若干個a,而且還能繼續增加,那如何快捷方便的為所有a綁定事件呢

          如果給每個a標簽都綁定一個事件,那對內存的消耗是非常巨大的,借助事件代理,我們只需要給父容器div綁定方法即可,

          這樣不管是點擊的哪一個后代元素,都會根據冒泡傳播的傳遞機制,把父容器的click事件觸發,然后把對應的方法執行,根據事件源,

          我們可以知道點擊的是誰,從而完成不同的事情

          a標簽的各種屬性都可以獲取到,取需要的數據就可以了
          

          使用代理的優點

          • 代碼簡潔
          • 減少瀏覽器的內存占用

          BOM操作

          BOM(瀏覽器對象模型)是瀏覽器本身的一些信息的設置和獲取,例如獲取瀏覽器的寬度、高度、設置讓瀏覽器跳轉哪個地址

          1. window.screen 對象,包含有關屏幕的信息
          2. window.location對象,用戶獲取當前地址的url,并把瀏覽器定向到新的頁面
          3. window.history對象,瀏覽歷史的前進后退
          4. window.navigator對象,常常用來獲取瀏覽器信息,是否移動端訪問

          獲取屏幕的寬高

          window.width
          window.height
          

          獲取網址,協議,path,參數,hash等

          // 例如當前網址是 https://juejin.im/timeline/frontend?a=10&b=10#some
          console.log(location.href) // https://juejin.im/timeline/frontend?a=10&b=10#some
          console.log(location.protocol) // https:
          consloe.log(location.pathname) //timeline/frontend
          consloe.log(location.search) //?a=10&b=10
          consloe.log(location.hash) // #some
          

          瀏覽器的前進后退

          history.back()
          history.forward()
          

          獲取瀏覽器的特性,然后識別客戶端,例如判斷是不是chrom瀏覽器

          SpringBoot Thymeleaf模板

          原理:服務端渲染、模板變量替換。與 Spring Boot,MVC方言完美結合。


          優勢

          • 傳統J2E使用JSP方式開發,但 Spring Boot對JSP支持不好。JSP規范與Servlet規范緊密耦合,使用JSP需要喚起servlet進程。
          • Thymeleaf支持HTML原型,可靜態使用。

          劣勢

          • 傳統模板頁面基于服務端,需要喚起servlet容器,走springmvc全套流程。
          • 模板渲染IO操作
          • 較難緩存。用戶請求在訪問到springboot server時,還會經過nginx,如果使用模板渲染,很難在nignx上做緩存。

          2 動靜請求分離

          動靜分離的設計原理:區分動靜態請求。

          • 動態請求:每次都從服務端獲取數據請求。
          • 靜態請求:不必每次從服務端獲取的頁面展示請求。

          優勢

          • 架構分離:分層優化
          • 緩存策略分離:例如前端做nginx、瀏覽器、cdn等緩存。
          • 研發框架分離:提高研發效率。

          靜態資源服務器,例如nignx;動態請求服務器,例如Tomcat;前后端采用Ajax等前端異步化交互技術發起請求,獲取數據,填充靜態頁面。

          實現技術

          Ajax是一種在無需重新加載整個網頁的情況下,能夠更新部分網頁的技術。

          Nginx可以用作動態請求反向代理,也可以用作靜態請求使用html resources。

          3 靜態請求緩存效率化

          主要是CDN分發技術和Nginx proxy cache文件緩存。

          CDN是內容分發網絡,具有高性能、高可用、高擴展性的優點。

          • CDN是帶有緩存性質的網絡節點。即CDN是web服務器,提供了靜態資源緩存機制。
          • 分發能力,請求分發到最近的節點。
          • 具有負載均衡能力,沒有單點問題。
          • 需要專門運營維護CDN網絡。

          未使用CDN技術

          使用CDN技術緩存靜態資源。

          客戶端發起請求到DNS,查詢ip地址,根據CNAME返回CDN管控節點域名,實現DNS解析權移交。管控節點根據請求ip地址分發到最近的CDN節點(負載均衡與分發)。如果在CDN節點命中緩存,直接返回,否則請求靜態資源并備份。

          運營廠商CDN實現原理中,HTTP 緩存頭起到了重要作用。

          Http緩存頭 cache-ctrol

          private:客戶端可以緩存.

          public:客戶端和代理服務器都可以緩存。

          max-age=xxx:緩存的內容將在XXX秒后失效。

          no- cache:強制向服務端再驗證一次,判斷是否生效。

          no-store:不緩存請求的任何返回內容。

          有效性判斷(驗證時帶上如下參數)

          ETag:資源唯一標識

          If-None-Match:客戶端發送的匹配Etag標識符

          Last- modified:資源最后被修改的時間

          If- Modified- Since:客戶端發送的匹配資源最后修改時間的標識符

          4 動態請求緩存

          4.1 動態請求前置緩存

          前置緩存的使用,提高查詢速度,減少數據庫訪問量。

          • Redis集中式緩存
          • 本地緩存:Tomcat緩存

          包括主動失效、被動失效,需要解決緩存擊穿、降級等問題。

          4.2 使用Nginx proxy cache


          Nginx Lua腳本編程定制化:

          在nginx生命周期中,Lua通過協程機制在某些環節實現鉤子機制。例如master進程創建worker進程時,運行初始化腳本;檢測到某個url請求時,直接調用Redis返回response,從而省掉springboot webmvc流程。

          Nginx proxy cache使用較少,因為再快的文件讀寫速度也比不上內存的讀寫速度。

          4.3 Nginx shared dic 本地緩存

          原理:nginx服務器的內存緩存,所有worker進程共享,通過lua操作。



          lua腳本

          獲取緩存空間,從中獲取list緩存。如果為空則轉發請求,獲取響應數據并緩存。

          5 全頁面靜態化技術

          原理:服務端通過類似爬蟲的技術直接完成動態請求加載完成后的靜態頁面,將HTML、CSS、JS資源全部加載完后的頁面生成后部署到CDN上。

          我們訪問頁面,發起靜態請求從CDN中獲取html資源文件,發起動態請求訪問nginx、tomcat獲取響應數據,然后在客戶端渲染頁面。需要三步操作。

          如果將渲染好的頁面直接放到CDN上,則客戶端可以直接獲取。

          優勢:無需加載、無需動態請求、可全部CDN化

          實現:

          • 類似爬蟲的技術
          • 無頭瀏覽器:類似瀏覽器,加載HTML文件,運行JavaScript,執行Ajax請求,獲取數據,填充到DOM,輸出靜態資源文件。

          HtmlUnit

          Httpclient無法搞定動態請求,HtmlUnit可用于爬蟲,測試自動化工具等

          HtmlUnit是一個無界面瀏覽器Java程序。為HTML文檔建模,提供了調用頁面、填寫表單、單擊鏈接等操作的APl。提供了對 Javascript的支持,甚至可以使用相當復雜的Ajax庫,根據配置的不同模擬 Chrome、 Firefox等瀏覽器。

          上圖.test.html書寫錯誤

          來源:https://www.cnblogs.com/dtyy/p/15531799.html


          主站蜘蛛池模板: 本免费AV无码专区一区| 亚洲国产美女福利直播秀一区二区| 中文字幕av无码一区二区三区电影| 精品亚洲A∨无码一区二区三区| 国产福利电影一区二区三区久久老子无码午夜伦不 | 精品亚洲A∨无码一区二区三区| 一区二区三区免费精品视频 | 精品人无码一区二区三区| 国产日韩AV免费无码一区二区| 狠狠色婷婷久久一区二区| 日本一区午夜艳熟免费| 国产一在线精品一区在线观看| 精品国产一区二区三区AV性色| 国产精品 一区 在线| 亚洲一区二区三区偷拍女厕| 黄桃AV无码免费一区二区三区| 精品视频一区二区三区免费| 人妻少妇一区二区三区| 一区二区视频在线播放| 精品国产一区二区三区色欲| 亚洲大尺度无码无码专线一区| 日本一区二区三区精品视频| 一区二区三区观看| 亚洲AV成人一区二区三区在线看 | 精品国产一区二区三区| 国产在线精品一区二区在线看| 久久国产香蕉一区精品| 日韩在线一区二区| 中文字幕一区二区三区乱码| 亚洲视频一区二区三区四区| 国产精品乱码一区二区三区 | 香蕉在线精品一区二区| 一区二区三区视频在线| 国产在线一区二区三区av| 99久久精品国产高清一区二区| 麻豆一区二区三区精品视频 | 国产在线精品一区免费香蕉| 一区二区三区高清| 中文字幕一区二区三区永久| 美日韩一区二区三区| 亚洲av鲁丝一区二区三区 |