html5 保存 搜索歷史,html5 – 如何有效處理Dart中的瀏覽器歷史記錄(即后退按鈕)?...

HTML5定義了用于操作歷史記錄的新API,允許您在不重新加載窗口的情況下更改位置.有一篇關于Dive Into HTML5的精彩文章,展示了如何使用歷史API在單頁面應用中模擬多頁面導航.它很容易翻譯成Dart.

在帶導航的單頁應用程序中,我通常設置客戶端代碼的方式類似于在服務器上設置RoR或Django應用程序或Dart http服務器的方式:

>定義一組適用于窗口位置的匹配器

>將匹配器映射到顯示虛擬頁面或其他位置的函數

然后使其成為無縫體驗:

>為所有錨點添加一個用于書簽的href,但添加一個onclick處理程序來調用一個推送歷史狀態的函數,并使用preventDefault來防止重新加載.

>在初始頁面加載時,讀取URL并將其發送到(2)中的地圖

樣品:

main() {

// handle the back button

window.on.popState.add((_) => showPage());

}

showPage() {

String path = window.location.pathname;

if (path == '/') {

showFrontPage();

} else if (DETAIL_PAGE_URL.hasMatch(path)) {

String id = DETAIL_PAGE_URL.firstMatch(path).group(1);

showDetailPage(i);

}

}

showFrontPage() {

//... code to build a link to a detail page

detailAnchor.on.click.add((MouseEvent e) {

window.history.pushState(null,detail.title,detail.url);

e.preventDefault();

showDetailPage(detail);

},false);

}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/272588.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/272588.shtml
英文地址,請注明出處:http://en.pswp.cn/news/272588.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

多個DataSet數據合并

DataSet ds myIAppSet.GetHomeHottestList(siteID, 0, time); DataSet ds1 myIAppSet.GetHomeHottestList(siteID, 1, time);if (ds1 ! null && ds1.Tables[0].Rows.Count > 0){ds.Merge(ds1);} Merge方法,用于DataSet、DataTable,多個字段…

math.js:靈活強大的JavaScript數學庫

最近為期權開發一些基本技術指標,用到一些C的數學庫,剛好看到JavaScript的math.js庫,這里對math.js做一下簡單介紹。一、什么是math.jsmath.js是一個廣泛應用于JavaScript 和 Node.js的數學庫,它的特點是靈活表達式解析器&#xf…

html的閃爍字,HTML最簡單的文字閃爍代碼

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓Titlekeyframes blink{0%{opacity: 1;}50%{opacity: 1;}50.01%{opacity: 0;}100%{opacity: 0;}}-webkit-keyframes blink {0% { opacity: 1; }50% { opacity: 1; }50.01% { opacity: 0; }100% { opacity: 0; }}-moz-keyframes blin…

video和dvd audio區別:

VIDEO 是視頻,AUDIO是音頻。DVD- Audio 是目前流行的DVD光碟格式的一種擴展,區別在于它能夠傳輸先前所有音頻載體格式無法攜帶的全新標準的高質量音頻數據。最引人注目的特點是它多聲道音頻的能力。轉載于:https://www.cnblogs.com/zjqqqq/p/5060931.htm…

Win10非常好用的6個使用技巧

很多人已經用上了Win10系統,為了提高使用效率掌握使用技巧尤為重要,今天我為大家分享win10的6個使用技巧。第一個:快速查找文件(win鍵E)想要打開某個文件,直接使用這個快捷鍵就可以打開資源管理器&#xff…

servlet html登錄,Servlet實現用戶登錄

1、登錄過程分析:通過表單收集用戶的數據,Servlet通過request對象獲得用戶提交的數據,服務器還需要從數據庫中通過sql語句查詢有沒有表單提交的數據中的用戶。有則登錄成功,否則,登錄失敗。2、工程結構:3、…

HTML5拖放API

HTML5拖放API 拖放事件 HTML5拖放API 拖放事件事件提供了拖放可以控制幾乎所有方面的拖放操作。棘手的部分是確定每個事件觸發:在拖項目火;別人火下降的目標。 拖動項時,以下事件(按照這個順序):拖曳開始拖…

C#easyui combotree 設置節點折疊

樹實體public class Combotree{public string id { get; set; }public string text { get; set; }public string state { get; set; }public List<Combotree> children { get; set; }} 只需要在初始化數據的時候給state 設置為 closed注意&#xff1a;不要在最后一級節點…

用于大型的科學計算的計算機,科學計算器廣泛適用于大、中、小學生、教師、科研人員及其他各界...

科學計算器廣泛適用于大、中、小學生、教師、科研人員及其他各界人士。相關句子1、機器人廣泛應用于弧焊&#xff0c;點焊&#xff0c;涂膠&#xff0c;切割&#xff0c;搬運&#xff0c;碼垛&#xff0c;噴漆&#xff0c;科研及教學。3、可以滿足大學本科和研究生有關實驗課教…

C#中AssemblyInfo.cs文件詳解

1、.Net工程的Properties文件夾下自動生成一個名為AssemblyInfo.cs的文件&#xff0c;一般情況下我們很少直接改動該文件。但我們實際上通過另一個形式操作該文件。那就是通過在鼠標右鍵點擊項目的屬性進入“應用程序”->“程序集信息”&#xff0c;然后修改信息。2、通過特…

談項目需求

&#xfeff;&#xfeff;三種客戶類型&#xff1a; 1 的確很專業。能提供基本可用的文檔&#xff0c;能給出要求規范&#xff0c;能向你提出有價值疑問和擔心。能快速回答你的問題。2 以為自己很專業。 給的文檔基本沒法用。沒法提供規范和標準&#xff0c;喜歡指指點點和挑毛…

html復制文字兼容手機,JavaScript+Html5實現按鈕復制文字到剪切板功能(手機網頁兼容)...

新學習JavaScript&#xff0c;就碰到這么一個需求&#xff0c;幾乎網上的方法都試過了。寫出了總結下使用的方法&#xff1a;clipboard插件下載地址&#xff1a;https://github.com/zenorocha/clipboard.js/tree/master引入插件&#xff1a;目錄\clipboard.js-master\dist\clip…

MVC5 Controller構造方法獲取User為空解決方法

用如下方法獲取UserId報空引用異常 public class BaseController : Controller {protected SiteContext db new SiteContext();protected Guid userId;public BaseController(){userId Guid.Parse(User.Identity.GetUserId());} } 由于Controller未初始化完成&#xff0c;Use…

計算機應用領域的CIMS,計算機的應用領域

計算機的應用領域近年來&#xff0c;計算機技術得到了飛躍發展&#xff0c;超級并行計算機技術、高速網絡技術、多媒體技術、人工智能技術等相互滲透&#xff0c;改變了人們使用計算機的方式&#xff0c;從而使計算機幾乎滲透到人類生產和生活的各個領域&#xff0c;對工業和農…

VS2015企業版專業版密鑰

親測可用&#xff0c;有需要的可以mark一下&#xff01;專業版&#xff1a;HMGNV-WCYXV-X7G9W-YCX63-B98R2企業版&#xff1a;HM6NR-QXX7C-DFW2Y-8B82K-WTYJV

Thinkphp編輯器擴展類kindeditor用法

一&#xff0c; 使用前的準備。 使用前請確認你已經建立好了一個Thinkphp站點項目。1&#xff0c;Keditor.class.php和JSON.class.php 是編輯器擴展類文件&#xff0c;將他們拷貝到你的站點項目的ThinkPHP\Lib\ORG\Net 目錄下。2&#xff0c;editor目錄是kindeditor的核心包。將…

實時操作系統與通用計算機操作系統的區別,實時操作系統(RTOS)和通用操作系統(OS)之間的區別...

RTOS vs OS大多數人都熟悉電腦上使用的操作系統。用于個人電腦的最常見的操作系統包括&#xff1a;微軟的Windows&#xff0c;蘋果的OS X以及各種版本的Linux。但是多數人都不知道實時操作系統(縮寫RTOS)&#xff0c;一種用于實時響應的更專業化的操作系統。RTOS和OS兩者之間最…

Memcached的基礎梳理

1 、Memcached 概念官方解釋如下&#xff1a;What is Memcached?Free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.Me…

html5 canvas 筆記五(合成與裁剪)

組合 Compositing globalCompositeOperation syntax: globalCompositeOperation type 注意&#xff1a;下面所有例子中&#xff0c;藍色方塊是先繪制的&#xff0c;即“已有的 canvas 內容”&#xff0c;紅色圓形是后面繪制&#xff0c;即“新圖形”。 source-over  這是默認…

一個能夠編寫、運行SQL查詢并可視化結果的Web應用:SqlPad

SqlPad 是一個能夠用于編寫、運行SQL查詢并可視化結果的Web應用。支持 PostgreSQL、MySQL 和 SQL Server。SqlPad 目前僅適合單個團隊在內網中使用&#xff0c;它直接通過網絡連接到數據庫服務器&#xff0c;任何人可以在上面執行任意 SQL 語句。安裝首先安裝 Node.js.安裝好No…