国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

JavaScript的HistoryAPI使搜索引擎抓取AJAX內(nèi)容_javascript技巧

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 21:46:47
文檔

JavaScript的HistoryAPI使搜索引擎抓取AJAX內(nèi)容_javascript技巧

JavaScript的HistoryAPI使搜索引擎抓取AJAX內(nèi)容_javascript技巧:大家在瀏覽Facebook的相冊時有沒有發(fā)現(xiàn),頁面局部刷新的同時地址欄的地址也改變了,而且不是hash的方式。它使用的就是HTML5 history新增的幾個API,作為window的一個全局變量,在HTML4的時代history已不是什么新鮮的事物了。我們經(jīng)常使用的就有 histor
推薦度:
導(dǎo)讀JavaScript的HistoryAPI使搜索引擎抓取AJAX內(nèi)容_javascript技巧:大家在瀏覽Facebook的相冊時有沒有發(fā)現(xiàn),頁面局部刷新的同時地址欄的地址也改變了,而且不是hash的方式。它使用的就是HTML5 history新增的幾個API,作為window的一個全局變量,在HTML4的時代history已不是什么新鮮的事物了。我們經(jīng)常使用的就有 histor
大家在瀏覽Facebook的相冊時有沒有發(fā)現(xiàn),頁面局部刷新的同時地址欄的地址也改變了,而且不是hash的方式。它使用的就是HTML5 history新增的幾個API,作為window的一個全局變量,在HTML4的時代history已不是什么新鮮的事物了。我們經(jīng)常使用的就有 history.back()以及history.go() 。

我一直以為沒有辦法做到,直到前兩天看到了Discourse創(chuàng)始人之一的Robin Ward的解決方法,不禁拍案叫絕。

Discourse是一個論壇程序,嚴(yán)重依賴Ajax,但是又必須讓Google收錄內(nèi)容。它的解決方法就是放棄井號結(jié)構(gòu),采用 History API。

所謂 History API,指的是不刷新頁面的情況下,改變?yōu)g覽器地址欄顯示的URL(準(zhǔn)確說,是改變網(wǎng)頁的當(dāng)前狀態(tài))。這里有一個例子,你點擊上方的按鈕,開始播放音樂。然后,再點擊下面的鏈接,看看發(fā)生了什么事?

地址欄的URL變了,但是音樂播放沒有中斷!

History API 的詳細(xì)介紹,超出這篇文章的范圍。這里只簡單說,它的作用就是在瀏覽器的History對象中,添加一條記錄。

代碼如下:
window.history.pushState(state object, title, url);  

上面這行命令,可以讓地址欄出現(xiàn)新的URL。History對象的pushState方法接受三個參數(shù),新的URL就是第三個參數(shù),前兩個參數(shù)都可以是null。

  window.history.pushState(null, null, newURL);   

目前,各大瀏覽器都支持這個方法:Chrome(26.0+),F(xiàn)irefox(20.0+),IE(10.0+),Safari(5.1+),Opera(12.1+)。

下面就是Robin Ward的方法。

首先,用History API替代井號結(jié)構(gòu),讓每個井號都變成正常路徑的URL,這樣搜索引擎就會抓取每一個網(wǎng)頁。

  example.com/1
  example.com/2
  example.com/3  

然后,定義一個JavaScript函數(shù),處理Ajax部分,根據(jù)網(wǎng)址抓取內(nèi)容(假定使用jQuery)。


再定義鼠標(biāo)的click事件。


還要考慮到用戶點擊瀏覽器的"前進 / 后退"按鈕。這時會觸發(fā)History對象的popstate事件。


定義完上面三段代碼,就能在不刷新頁面的情況下,顯示正常路徑URL和AJAX內(nèi)容。

最后,設(shè)置服務(wù)器端。

因為不使用井號結(jié)構(gòu),每個URL都是一個不同的請求。所以,要求服務(wù)器端對所有這些請求,都返回如下結(jié)構(gòu)的網(wǎng)頁,防止出現(xiàn)404錯誤。

仔細(xì)看上面這段代碼,你會發(fā)現(xiàn)有一個noscript標(biāo)簽,這就是奧妙所在。

我們把所有要讓搜索引擎收錄的內(nèi)容,都放在noscript標(biāo)簽之中。這樣的話,用戶依然可以執(zhí)行AJAX操作,不用刷新頁面,但是搜索引擎會收錄每個網(wǎng)頁的主要內(nèi)容!

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

JavaScript的HistoryAPI使搜索引擎抓取AJAX內(nèi)容_javascript技巧

JavaScript的HistoryAPI使搜索引擎抓取AJAX內(nèi)容_javascript技巧:大家在瀏覽Facebook的相冊時有沒有發(fā)現(xiàn),頁面局部刷新的同時地址欄的地址也改變了,而且不是hash的方式。它使用的就是HTML5 history新增的幾個API,作為window的一個全局變量,在HTML4的時代history已不是什么新鮮的事物了。我們經(jīng)常使用的就有 histor
推薦度:
標(biāo)簽: API javascript 搜索引擎
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产全黄一级毛片 | 欧美精品啪啪 | 国产一区二区网站 | 一区在线免费观看 | 欧美日韩大尺码免费专区 | 国产成人一区二区三区 | 亚洲一区自拍 | 日韩城人网站 | 欧美日韩一区二区三区四区 | 青青成人福利国产在线视频 | 国产成人精品日本亚洲语音1 | 2021精品国内一区视频自线 | 欧美人在线一区二区三区 | 美女全黄网站 | 青青色在线视频 | 成人毛片在线观看 | 中文字幕第4页 | 久久婷婷影院 | 久久精品成人一区二区三区 | 日韩成人小视频 | 日韩国产欧美视频 | 欧美v亚洲v国产v | 亚洲欧美精品成人久久91 | 午夜视频国产 | 亚洲黄色一区 | 国产亚洲精品片a77777 | 国产日韩中文字幕 | 精品国产一区二区三区不卡蜜臂 | 亚洲国产精品免费观看 | 欧美精品v国产精品v日韩精品 | 久久亚洲精品国产精品婷婷 | 中文字幕日韩一区二区三区不卡 | 成人精品久久 | 国产成人高清亚洲一区久久 | 国产精品视频久久久久 | 国产精选免费视频 | 亚洲一区二区三区四区视频 | 欧美国产第一页 | 欧美 日韩 中文 | 久久亚洲一级α片 | 国产一级片在线 |