2012-04-09 67 views
1

#和!的作用是什麼?在href值?錨標記的href值中的特殊符號

<a href="#!${pageContext.request.contextPath}/dic/users/home.ct" rel="home"> 
+2

需要更多信息,看起來像你正在使用某種模板引擎。你能鏈接到你看到這個代碼的地方嗎? – nak 2012-04-09 05:28:48

+0

@nak是啊,幾乎看起來像一個錯誤,它打算由服務器翻譯成東西。 – McGarnagle 2012-04-09 05:30:03

回答

1

#指向一個錨(<a name="xx"><element id="xx">

的爆炸可能是用於ajax-crawling兼容性。合併的#!用於向Googlebot表明您的站點支持該方案。

此鏈接方案應該只能使用javascript,而不能打印到HTML。在這種情況下,頁面實際上並沒有一個名爲!contextPath的錨點,但應該有一個頁面/${pageContext.request.contextPath}/dic/users/home.ct

1

enter image description here它已成爲Google確定的標準,可確保一致性並使ajax url可被抓取。

http://code.google.com/web/ajaxcrawling/docs/getting-started.html

我相信他們正在使用history.pushState。您可以在控制檯中執行history.back(),它會將您引導回頁面。

順便說一句,「!」用於消除空散列的情況。 「http://url#」將使瀏覽器滑動到頂部。

+0

當你需要類似鏈接的視覺效果而不是鏈接時(你會使用'href ='#''或'javascript:void(0)'),你應該通過CSS和'tabindex = 0'來添加它,不需要一個未使用的錨點。 – 2012-04-09 05:42:54