xure小白的福利又來了,本教程主要講述查看原型的一系列基礎操作以及相關設置。
希望大家邊學邊操作,學習效果更佳哦。
快速原型的快捷鍵為“F5”。或者,單擊快捷鍵功能中的預覽圖標進行預覽。導航菜單“發布”-“預 覽選項”中進行預覽設置。
生成原型的快捷鍵為“F8”。或者,單擊快捷鍵功能中生成圖標。還可以通過導航菜單“發布”-“生成原型文件”中進行生成。
發布原型時,如果不需要將所有頁面生成或者發布,可以在生成HTML的設置中打開“頁面”的設置,取消“生成所有頁面”的勾選,則可以設置生成指定的頁面。注意,子級頁面無法單獨發布,勾選子級頁面時會自動勾選父級頁面。如果需要單獨發布子級頁面,需要在頁面管理面板將子級頁面的級別調整到一級頁面。
在生成HTML的設置中有“標志”的設置,可以為原型添加圖片標識或者文字標題。原型發布后會顯示在工具欄的頁面面板中。
發布原型到AxShare是將做好的原型發布到Axure官方提供的空間中,通過自動生成的網址進行訪問。發布到AxShare的快捷鍵為“F6”。發布到AxShare需要注冊相關賬號,網址為:http://share.axure.com/
制作移動設備原型需要遵循規范將原型制作成標準尺寸。移動設備原型尺寸計算工具:http://www.iaxure.com/share/yxcc/ (個別移動設備可能會有出入)。
除了制作標準原型尺寸,還需要在生成的HTML文件配置中,進行“移動設備”的設置,讓生成的HTMl文件“包含視圖接口標記”才可以正常顯示。
當原型使用一些特殊字體時,在沒有安裝該字體的設備上將無法正常顯示。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 中運行任何的代碼都是在執行上下文中運行
這是因為當函數執行的時候,首先會形成一個新的私有的作用域,然后依次按照如下的步驟執行
個人理解為,閉包就是函數中的函數,里面的函數可以訪問外面函數的變量,外面的變量是這個內部函數的一部分
JS 需要異步的根本原因是 JS 是單線程運行的,即在同一時間只能做一件事,不能“一心二用”。為了利用多核CPU的計算能力,HTML5提出Web Worker標準,允許JavaScript腳本創建多個線程,但是子線程完全受主線程控制,且不得操作DOM。所以,這個新標準并沒有改變JavaScript單線程的本質。
一個 Ajax 請求由于網絡比較慢,請求需要 5 秒鐘。如果是同步,這 5 秒鐘頁面就卡死在這里啥也干不了了。異步的話,就好很多了,5 秒等待就等待了,其他事情不耽誤做,至于那 5 秒鐘等待是網速太慢,不是因為 JS 的原因
原型:在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();
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事件模型氛圍捕獲和冒泡。 一個事件發生后,會在子元素和父元素之間傳播,這種傳播分成三個階段
捕獲是從上到下,事件先從window對象,然后再到document對象,然后是html標簽,(通過document.documentElement獲取html標簽),然后是body標簽,(通過document.body獲取body標簽),然后按照普通的html結構一層一層往下傳,最后到達目標元素
阻止冒泡
ev.stopPropagation()
由于事件會在冒泡的階段向上傳播到父節點,因此可以把子節點的監聽函數定義在父節點上,由父節點的監聽函數統一處理多個子元素的事件,這種方式叫做事件的代理
我們設定一種場景,一個div包含若干個a,而且還能繼續增加,那如何快捷方便的為所有a綁定事件呢
如果給每個a標簽都綁定一個事件,那對內存的消耗是非常巨大的,借助事件代理,我們只需要給父容器div綁定方法即可,
這樣不管是點擊的哪一個后代元素,都會根據冒泡傳播的傳遞機制,把父容器的click事件觸發,然后把對應的方法執行,根據事件源,
我們可以知道點擊的是誰,從而完成不同的事情
a標簽的各種屬性都可以獲取到,取需要的數據就可以了
使用代理的優點
BOM(瀏覽器對象模型)是瀏覽器本身的一些信息的設置和獲取,例如獲取瀏覽器的寬度、高度、設置讓瀏覽器跳轉哪個地址
獲取屏幕的寬高
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瀏覽器
原理:服務端渲染、模板變量替換。與 Spring Boot,MVC方言完美結合。
優勢
劣勢
動靜分離的設計原理:區分動靜態請求。
優勢
靜態資源服務器,例如nignx;動態請求服務器,例如Tomcat;前后端采用Ajax等前端異步化交互技術發起請求,獲取數據,填充靜態頁面。
Ajax是一種在無需重新加載整個網頁的情況下,能夠更新部分網頁的技術。
Nginx可以用作動態請求反向代理,也可以用作靜態請求使用html resources。
主要是CDN分發技術和Nginx proxy cache文件緩存。
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:客戶端發送的匹配資源最后修改時間的標識符
前置緩存的使用,提高查詢速度,減少數據庫訪問量。
包括主動失效、被動失效,需要解決緩存擊穿、降級等問題。
Nginx Lua腳本編程定制化:
在nginx生命周期中,Lua通過協程機制在某些環節實現鉤子機制。例如master進程創建worker進程時,運行初始化腳本;檢測到某個url請求時,直接調用Redis返回response,從而省掉springboot webmvc流程。
Nginx proxy cache使用較少,因為再快的文件讀寫速度也比不上內存的讀寫速度。
原理:nginx服務器的內存緩存,所有worker進程共享,通過lua操作。
lua腳本
獲取緩存空間,從中獲取list緩存。如果為空則轉發請求,獲取響應數據并緩存。
原理:服務端通過類似爬蟲的技術直接完成動態請求加載完成后的靜態頁面,將HTML、CSS、JS資源全部加載完后的頁面生成后部署到CDN上。
我們訪問頁面,發起靜態請求從CDN中獲取html資源文件,發起動態請求訪問nginx、tomcat獲取響應數據,然后在客戶端渲染頁面。需要三步操作。
如果將渲染好的頁面直接放到CDN上,則客戶端可以直接獲取。
優勢:無需加載、無需動態請求、可全部CDN化
實現:
Httpclient無法搞定動態請求,HtmlUnit可用于爬蟲,測試自動化工具等
HtmlUnit是一個無界面瀏覽器Java程序。為HTML文檔建模,提供了調用頁面、填寫表單、單擊鏈接等操作的APl。提供了對 Javascript的支持,甚至可以使用相當復雜的Ajax庫,根據配置的不同模擬 Chrome、 Firefox等瀏覽器。
上圖.test.html書寫錯誤
來源:https://www.cnblogs.com/dtyy/p/15531799.html
*請認真填寫需求信息,我們會在24小時內與您取得聯系。