如何根據網址中提及的元素ID做出兩個不同的事情?例如,如果URL是website.com/page#id1,那麼頁面會做一件事,如果它是website.com/page#id2,它會做另一件事情?有沒有一種方法可以讓頁面根據url中提到的id做不同的事情?
0
A
回答
1
服務器端和客戶端的答案都是肯定的。
服務器端,您的網址將需要不同的結構比你有,例如:
http://website.com/page?id=1
...或REST風格的路由
http://website.com/page/1
後者可以實現像Apache的mod_rewrite
。
要訪問您的PHP代碼中的id
值,您需要$_GET['id']
,並對其進行適當的處理。
客戶端,你需要使用JavaScript使用location.hash
或location.href
來做到這一點。 GitHub可以通過導航哈希來達到很好的效果。
0
URL的哈希部分沒有被傳遞給服務器,您需要使用例如。 JavaScript來做到這一點。
在URL中的JavaScript「哈希」部分可這樣的:
var hash_part = window.location.hash;
,並得到它後,可以例如:
- 它傳遞給由AJAX調用服務器,
重定向將散列傳遞給服務器的頁面,例如。這樣的:
window.location = '/check_hash.php?hash=' + hash_part.split('#')[1]
或做一些事情,而無需調用服務器:
alert('My hash is "' + hash_part + '", no need to call the server!');
有沒有幫助?
0
如果你想使用PHP,你可以如在URL提供參數:
website.com/page.php?do=something
或
website.com/page.php?do=somethingelse
所以,你應該用一個問號傳遞參數給PHP而比在問題中使用hashtag要好。
在你的PHP代碼是根據它的價值,你就可以獲取該參數,並做一些事情:
<?php
$param = $_GET['do'];
if ($param == "something") {
//Do something...
}
else if ($param == "somethingelse") {
//Do something else...
}
?>
0
服務器端:http://www.php.net/manual/en/language.variables.external.php 客戶端,你必須使用location.hash
或location.href
,以確定哪些id
有已發送到您的頁面。
0
如果你想改變取決於網址PARAM頁面加載的東西,你可以喜歡這裏http://php.net/manual/en/reserved.variables.get.php
0
這
if($_GET["id"] == "test"){
do your stuff
}
例如讀它。如果客戶端,那麼你就需要使用JavaScript。例如
<script>
if (location.hash == 'id1') {
alert('page1!');
}
else if (location.hash == 'id2') {
alert('page2!');
}
</script>
相關問題
- 1. Rails:根據頁面來自哪個頁面,有沒有一種方法可以讓一個網站只生成一個不同的HTML電子郵件?
- 2. 有沒有一種方法可以讓WiX在每種情況下抑制ICE
- 3. 有沒有一種方法可以根據ID名稱中的特定單詞設置ID的樣式?
- 4. 有沒有另外一種方法來做重定向頁面?
- 5. 有沒有一種方法可以從iTunes頁面以編程方式提取播客的提要?
- 6. 有沒有一種方法可以根據Javascript中的'Value'獲取關聯值
- 7. 兩種方法,做同樣的事情,用不同的方式
- 8. 有沒有一種方法可以測量頁面中Javascript的重量?
- 9. 有沒有一種簡單的方法可以讓Solr根據與請求一起提交的一組憑據來引用不同的索引?
- 10. DynamoDB:有沒有一種方法可以在沒有LastEvaluatedKey的情況下獲取任意頁面?
- 11. 有沒有一種方法可以讓我從蟒蛇
- 12. 有沒有一種方法可以讓ActionListener取消?
- 13. 有沒有一種方法可以在沒有登錄Netsuite的情況下提供可用的Suitelet表單?
- 14. 有沒有一種方法可以根據2列的值過濾UltraGrid?
- 15. 有沒有辦法讓事情做點什麼,做任何事情?
- 16. 有沒有一個名稱可以讓事情變得難以做到,而且在建築中應該做的事情容易做到?
- 17. 有沒有一種方法可以將css頁面作爲標籤的樣式?
- 18. JQuery的做不同的事情根據不同的選擇。對使用()方法
- 19. 有沒有一種方法可以連接具有不同功能的兩列?
- 20. 你可以讓一個類的所有對象用一個方法調用做同樣的事情嗎?
- 21. 在氚中,有沒有一種方法可以根據孩子號碼分配一個ID?
- 22. 有沒有一種方法可以將Java中的URL縮短方便地存儲到數據庫中
- 23. 有沒有一種方法可以將網頁轉換爲pdf?
- 24. 有沒有一種方法可以讓Grails中的控制器訪問函數?
- 25. 在這種情況下,有沒有一種有效的方法將行分隔到不同的文件中?
- 26. 有沒有一種方法讓ctrl-6跳回到前一個文件的相同頁面內容
- 27. 有沒有一種方法讓JS檢測到div的底部已經到達,而不是頁面的底部?
- 28. 有沒有一種方法可以根據網頁中已知的值計算XPath?
- 29. 有沒有一種方法可以在Django中爲內聯管理員表單提供單獨的頁面?
- 30. 有沒有一種方法可以在沒有onclick事件的情況下使用onclick?
你想做這個服務器端或客戶端? – mrtsherman 2011-12-29 14:59:56
要麼會很好,但最好是客戶端我想。 – Proffesor 2011-12-29 15:00:38