[英]opening a new tab for a link url
我想打開一個新的 TAB 而不是 URL 鏈接的新窗口。 我嘗試添加 target="_tab" 仍然打開一個新窗口和一個新選項卡。 新選項卡顯示 LocalHost,但無法訪問。 新窗口具有正確的 URL 鏈接。
我不明白為什么要打開一個新窗口。 我們可以有一個帶有 URL 鏈接的新標簽嗎?
這是代碼:
<div style="font-family: Arial; font-size: 10pt">
<small>
<a href="#" onclick="window.open('https://maps.google.ca/maps?
q=3100+ReneLevesque+Quebec&ie=UTF8&hq=&hnear=
3100+ReneLevesque,+Quebec,+Qu%C3%A9bec+J4X+1C3&t=m&
source=embed&z=14&iwloc=A')" style="color:#0000FF;
text-align:end" target="_tab" >Bigger Map </a>
</small>
</div>
修改代碼 仍然無法正常工作,即它正在打開一個新窗口而不是選項卡。
<small>
<a href="https://maps.google.ca/maps?
q=3100+ReneLevesque+Quebec&ie=UTF8&hq=&hnear=
3100+ReneLevesque+Quebec,+Qu%C3%A9bec+J4X+1C3&t=m&source=embed&
z=14&iwloc=A" style="color:#0000FF;
text-align:end" target="_blank" >Bigger Map</a>
</small>
嘗試使用target="_blank"
而不是target="_tab"
刪除 javascript onclick
事件,因為它不需要。 這實際上也是導致您獲得新窗口的原因,因為您正在調用window.open
。 這正是你不想要的。 將所需的 url 復制到href
屬性而不是href="#"
。
更改a
標簽的target
屬性並將其設置為_blank
,這是一條內置指令,用於告訴瀏覽器在新選項卡中打開鏈接。 在舊瀏覽器中, _blank
會打開一個新窗口(在標簽瀏覽器出現之前),但現在所有現代瀏覽器默認都會在新標簽中打開一個_blank
鏈接。
它應該是這樣的:
<a href="https://maps.google.ca/maps?
q=3100+ReneLevesque+Quebec&ie=UTF8&hq=&hnear=
3100+ReneLevesque,+Quebec,+Qu%C3%A9bec+J4X+1C3&t=m&
source=embed&z=14&iwloc=A" target="_blank" style="color:#0000FF;
text-align:end" >Bigger Map </a>
有幾個內置的target
屬性:
此屬性指定顯示鏈接資源的位置。 在 HTML4 中,這是框架的名稱或關鍵字。 在 HTML5 中,它是瀏覽上下文(例如,選項卡、窗口或內聯框架)的名稱或關鍵字。 以下關鍵字具有特殊含義:
_self :將響應加載到與當前響應相同的 HTML4 框架(或 HTML5 瀏覽上下文)中。 如果未指定屬性,則此值為默認值。
_blank :將響應加載到新的未命名 HTML4 窗口或 HTML5 瀏覽上下文中。
_parent :將響應加載到當前框架的 HTML4 框架集父級或當前框架的 HTML5 父級瀏覽上下文中。 如果沒有父項,則此選項的行為方式與 _self 相同。
_top :在 HTML4 中:將響應加載到完整的原始窗口中,取消所有其他框架。 在 HTML5 中:將響應加載到頂級瀏覽上下文(即當前瀏覽上下文的祖先,並且沒有父瀏覽上下文)。 如果沒有父項,則此選項的行為方式與 _self 相同。 僅當存在 href 屬性時才使用此屬性。
您使用的任何其他字符串都將為鏈接的目標提供一個名稱,然后您可以在其他地方使用該名稱在同一選項卡中打開其他鏈接。 例如,如果你稱它為“dave”,那么它會打開一個新標簽,瀏覽器將其稱為“dave”。 任何其他帶有target="dave"
鏈接都將在瀏覽器稱為“dave”的選項卡中打開 - 而不是新選項卡。
您需要稍微更改您的 href :
<a href="https://maps.google.ca/maps?
q=3100+ReneLevesque+Quebec&ie=UTF8&hq=&hnear=
3100+ReneLevesque,+Quebec,+Qu%C3%A9bec+J4X+1C3&t=m&
source=embed&z=14&iwloc=A" style="color:#0000FF;
text-align:end" target="_blank" >Bigger Map </a>
如何在新選項卡(而不是新窗口)中打開鏈接? 這個問題基本上是一樣的。
簡而言之,您可以使用 css 屬性:
target-new:tab
然而,一般的建議是你不應該試圖控制用戶正在做什么,把它留給他們和他們的瀏覽器。
@model WebTest.Models.Urls
@{
ViewBag.Title = "URL shortener";
}
<h2>Shorten a URL</h2>
@Html.ValidationSummary()
@using (Html.BeginForm())
{
<div class="form-group">
@Html.TextBoxFor(model => model.Url.Name, new { placeholder = "URL Shortened Name", @class = "form-control" })
</div>
<div class="form-group">
@Html.TextBoxFor(model => model.Url.UrlLink, new { placeholder = "URL Link", @class = "form-control" })
</div>
<input type="submit" class="btn btn-primary" value="Shorten" />
}
<table class="table full-width">
<thead>
<tr>
<th>Url Shortened Name</th>
<th>Url Link</th>
</tr>
</thead>
<tbody>
@foreach (var url in Model.UrlList)
{
<tr>
<td><a href="@(url.UrlLink)" target="_blank">@(url.Name)</a></td>
<td>@Html.DisplayFor(modelItem => url.UrlLink)</td>
</tr>
}
</tbody>
</table>
[HttpGet]
public ActionResult Index()
{
MvcApplication.Log.Info("Hello");
Urls urls = new Urls();
urls.UrlList = ReadURLToFile();
//Url url = new Url();
return View(urls);
}
public ActionResult Index(Url url)
{
Urls urls = new Urls();
if (ModelState.IsValid)
{
urls.UrlList = ReadURLToFile();
AddURLToFile(urls,url);
}
return View(urls);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.