例如,我想有我報名,約和聯繫人頁面解析爲不同的內容,而是通過哈希標籤:以混編網址並將其發送到一個新的URL
三通每一個到報名,聯繫方式和有關頁面 -
- www.site.com/index.php#about
- www.site.com/index.php#registration
- www.site.com/index.php #contact
是否有使用Javascript或PHP將這些頁面解析爲分隔內容的方法?
例如,我想有我報名,約和聯繫人頁面解析爲不同的內容,而是通過哈希標籤:以混編網址並將其發送到一個新的URL
三通每一個到報名,聯繫方式和有關頁面 -
是否有使用Javascript或PHP將這些頁面解析爲分隔內容的方法?
哈希不發送到服務器,所以你只能用Javascript來做。
檢查值location.hash
。
您可以使用PHP的全局$ _REQUEST變量搶請求的URL,並解析出井號標籤...
我想你可能有一個很好的理由,但我會問,你爲什麼會這麼做?它打破了人們廣泛理解的網址哈希應該如何工作的標準,它只是乞求與其他客戶端互操作的麻煩。
沒有服務器端的方法來做到這一點。你可以使用AJAX,但這會打破非JavaScript用戶的網站。最好的辦法可能是使用服務器端內容URL(index.php?page=<page_id>
)並使用JavaScript在本地重寫這些內容(至#<page_id>
),並處理使用AJAX 然後加載的內容。這樣你就可以擁有你的JS-enabled設備的hash-URL,其他人仍然可以使用該站點。
但它需要一點冗餘,因爲您需要提供兩次相同的內容,一次通過AJAX包含,一次通過適當的佈局和一切通過PHP。
如果你只是爲了美觀的原因想要哈希URL,但不想依賴於JS,那麼你的運氣不好。 URL的語義反對你:片段ID不應該真正影響URL引用的內容,而僅僅是該內容中的片段。 AJAX網址正在改變這些語義,但如果不必這樣做,沒有什麼好的理由去做。
這看起來不錯(也感謝Slaks)。我會給它一個旋轉,看看我得到了什麼。可能要測試一下 - 在任何javascripting中非常生鏽。 – Rninja 2009-10-29 19:52:32
錯了。散列標籤通常不會發送到服務器,而是由用戶代理處理。你可能會想到cgi參數,而不是散列(或片段標識符)。 – 2009-10-29 14:03:30
將Hashtags發送到請求中的服務器。在公共社區中稱錯某人之前,請自行檢查。 – 2009-11-02 14:57:14
我很抱歉讓你失望,但你錯了*:http://httpbin.org/get#wat請注意「url」說的是什麼。你在考慮GET參數:http://httpbin.org/get?hashtag=i-think-not--你說的是[$ _REQUEST](http://php.net/manual/en /reserved.variables.request.php)(在這種情況下簡單地委託給$ _GET)應該是一個明顯的線索。 – 2013-05-06 14:24:27