[英]How can I use JavaScript on the client side to detect if the page was encrypted?
[英]How do you detect if the page is a redirect using Javascript in the client side
有沒有辦法讓我知道當前頁面是來自另一個 URL 的 301 還是 302 重定向? 怎么獲取頁面之前的URL?
HTTP Header 將在那里進行原產地屬性檢查。
簡短的回答,不,您無法分辨重定向的類型。
您可以查看JavaScript中的Referer header:
https://www.w3schools.com/jsref/prop_doc_referrer.asp
document.referrer
這將告訴您用戶在訪問您的頁面之前(通常)正在與哪個頁面進行交互。 它不會告訴您它是否是重定向。 您可以針對該頁面發出 AJAX HTTP 請求,以查看您是否收到 301 或 302 消息。 但這不會 100% 告訴您它是否是重定向。 如果您超過 HTTP 並且引用頁面是 HTTPS,那么這個 header 沒有設置。
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer
要獲取 url 使用 document.referrer
據我所知,沒有檢測 301 或 302 的好方法,尤其是通過 javascript。 您可以在這里查看答案以獲取想法(但他們使用 php)。 如果您知道客戶端將來自哪些 url,您可以使用從 document.referrer 獲取的 url 來確定應該采取什么行動。
如果您控制重定向頁面,則可以通過查詢字符串傳遞信息。
重定向.php
<?php
header('Location: target.html?referrer='.$_SERVER['HTTP_HOST'], true, 301);
目標.html
<html>
<head>
<title>target of redirection</title>
</head>
<body>
<script>
const urlParams = new URLSearchParams(window.location.search);
const referrer = urlParams.get('referrer');
console.warn('referrer >'+referrer+'<');
</script>
</body>
</html>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.