簡體   English   中英

重定向到另一個HTML頁面

[英]Redirect to another html page

在先檢查瀏覽器版本之后,是否可以將我的應用程序重定向到網頁?

我正在使用C#運行我的角度應用程序,並且默認情況下已加載index.html,但是有辦法控制它嗎?

例如:如果我的瀏覽器是IE,則加載錯誤Browser.html,否則加載index.html(默認值)

請注意,我不想重定向我的頁面,因為我想保留原始URL:例如localhost / api / search = text。 如果我進行重定向,它將覆蓋我的網址。 所以我只想加載html內容

我在服務器端使用C#和Visual Studio

您必須加載應用的首頁,才能確定瀏覽器規格。 只有這樣,您才能基於該知識重定向到另一個頁面。

我從未使用過Angular JS,也沒有將Angular與C#一起使用 ,但是從個人知識來看,我知道您可以在香草javascript中使用XML請求“重定向”而不更改url(也許您可以將其放置在某個地方):

var request = new XMLHttpRequest();

request.addEventListener("load", function(evt){
    document.write(evt.target.response);
}, false);

request.open('GET', 'a.html', true),
request.send();

現在,這很簡單,我們將變量請求設置為XMLHttpRequest對象,然后在加載時設置事件監聽器,加載后將目標代碼替換頁面中的代碼,然后設置網址並發送請求。

我僅將其用於測試,因此可能存在我不知道的問題,但是確實導入了html代碼。

在C#中,您可以使用Request.Browser執行以下操作:

if(Request.Browser.Browser.IndexOf("InternetExplorer")){
   return View("wrongBrowser");
}

由於大多數(如果不是全部)瀏覽器也以其名稱返回其版本,因此必須使用IndexOf

以下是可能的瀏覽器字符串的列表:

  • IE <= 11: InternetExplorer <numeric version>
  • 邊: Edge <version>
  • Safari: Safari <version>
  • Chrome: Chrome <version>
  • Opera: Chrome <version>

還有更多,盡管其中大多數將在Chrome瀏覽器下運行。 當您指定上面列出的IE11時,我將不再贅述。 上面的方法對於其他不那么流行的瀏覽器並不是很可靠,因此請記住這一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM