2014-10-16 19 views
0

在我的angularjs應用程序中,我使用$ location的html5模式,它便於包含不支持html5歷史記錄api的瀏覽器的後備。

我需要生成一個指向我的應用程序的URL,並且希望避免硬連線。相反,我想利用$ location或底層機制。

例如:我需要的網址有$location.path()/my/subpath。在具有html5支持的瀏覽器中,url將是http://example.com/my/subpath,在沒有它的瀏覽器中將是http://example.com/#!/my/subpath

我試圖找到用於錨點重寫的角度來源,但無法找到它的機制。

是我的計劃可能或者我在錯誤的軌道上?

回答

0

你可以簡單地使用

VAR路徑= window.location.hash.substr(1);

當然,你應該使用兩種API的

+0

之前您在瀏覽器的HTML 5支持,所以你建議手動嗅探歷史API的瀏覽器支持,然後構造URL有或沒有散。那很可能會起作用,但會有效地規避角的機制,不是嗎?這是我想要避免的。 – David 2014-10-16 12:52:24