我有一個網站,其中的所有頁面內容在一個頁面中稱爲「pagecontents」。點擊導航欄中的菜單時,會觸發jQuery加載函數,並將相關內容加載到主頁面中。通過網址哈希運行javascript功能
它工作的很好,但是每當一個特定內容被加載時,我都會在URL中添加一個哈希值,以便用戶在鍵入或粘貼帶有哈希值的URL時可以直接查看相關內容。這工作正常在我的本地主機,但不是在遠程主機我不知道什麼是問題。
if(location.hash == '#web') {
$('#contentFetch').load('pagecontents.php #webC');
}if(location.hash == '#graphic') {
$('#contentFetch').load('pagecontents.php #graphicC');
}if(location.hash == '#mobile') {
//$('#testLocation').text("mobile Works");
$('#contentFetch').load('pagecontents.php #mobileC');
}if(location.hash == '#contact') {
$('#contentFetch').load('pagecontents.php #contactC');
}else{
$('#contentFetch').load('pagecontents.php #indexC');
}
編輯:關於在查詢字符串的哈希: 網站URL例如: 'www.mywebsite.com/'。當我在最後添加'#graphic'時:'www.mywebsite.com/#graphic'它不會加載內容。我注意到,如果繼續按下輸入,即使沒有加載,然後加載!!!?它看起來非常不緊密,因爲它加載了1次5.我不知道在現實世界中使用它是否可靠,還是有另一種方法呢?謝謝邁克
我們沒有足夠的信息來了解什麼是不工作。 PHP文件沒有運行? AJAX命令無法找到該文件?頁面片段不在外部文件中嗎?可能有多種原因。當您直接在瀏覽器中訪問它時,「pagecontents.php」能正確加載嗎? – Blazemonger
1)URI規範不允許空格; 2)哈希後的其餘字符串不會發送到服務器。使用爲uri參數設計的字符 - ? 'load(「pagecontent.php?section = contactC」)' – Tommi
Blazemonger教會了我,它是一個URI後面可以跟一個空格和一個jQuery選擇器:http://api.jquery.com/load/#loading-頁面片段 – David