打开链接网址的新标签页

时间:2014-02-04 14:36:01

标签: c# html asp.net

我想打开一个新的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&amp;ie=UTF8&amp;hq=&amp;hnear=
              3100+ReneLevesque,+Quebec,+Qu%C3%A9bec+J4X+1C3&amp;t=m&amp;
              source=embed&amp;z=14&amp;iwloc=A')" style="color:#0000FF;
              text-align:end"  target="_tab" >Bigger Map </a>

       </small>
   </div>

MODIFY代码仍无法正常工作,即它正在打开一个新窗口而非TAB。

       <small>
          <a href="https://maps.google.ca/maps? 
          q=3100+ReneLevesque+Quebec&amp;ie=UTF8&amp;hq=&amp;hnear=
          3100+ReneLevesque+Quebec,+Qu%C3%A9bec+J4X+1C3&amp;t=m&amp;source=embed&amp;
          z=14&amp;iwloc=A" style="color:#0000FF;
          text-align:end" target="_blank"  >Bigger Map</a>

       </small>

5 个答案:

答案 0 :(得分:1)

尝试使用target="_blank"代替target="_tab"

答案 1 :(得分:1)

1 - 删除不需要的行为

删除不需要的javascript onclick事件。实际上,由于您正在调用window.open,这也是导致您获得新窗口的原因。这是你不想要的。将所需的网址复制到href属性,而不是href="#"

2 - 设置目标属性

更改target标记的a属性并将其设置为_blank,这是内置指令,告诉浏览器在新标签中打开链接。在较旧的浏览器中,_blank会打开一个新窗口(在选项卡式浏览器出现之前),但现在所有现代浏览器都会默认在新标签页中打开_blank链接。

它应该是这样的:

<a href="https://maps.google.ca/maps?
          q=3100+ReneLevesque+Quebec&amp;ie=UTF8&amp;hq=&amp;hnear=
          3100+ReneLevesque,+Quebec,+Qu%C3%A9bec+J4X+1C3&amp;t=m&amp;
          source=embed&amp;z=14&amp;iwloc=A" target="_blank" style="color:#0000FF;
          text-align:end" >Bigger Map </a>

注意

有几个内置target属性:

  • _blank
  • _parent
  • _self
  • _ top

Here's some documentation from Mozilla about the target attribute

  

此属性指定显示链接资源的位置。   在HTML4中,这是框架的名称或关键字。在HTML5中,它   是浏览上下文的名称或关键字(例如,选项卡,   窗口或内联框架)。以下关键字有特殊之处   含义:

     

_self :将响应加载到与当前HTML4框架(或HTML5浏览上下文)相同的HTML4框架中。如果是,则此值是默认值   未指定属性。

     

_blank :将响应加载到新的未命名HTML4窗口或HTML5浏览上下文中。

     

_parent :将响应加载到当前帧的HTML4框架集父级或当前框架的HTML5父级浏览上下文中。如果   没有父级,此选项的行为与_self相同。

     

_top :在HTML4中:将响应加载到完整的原始窗口,取消所有其他帧。在HTML5中:将响应加载到   顶级浏览上下文(即,浏览上下文)   当前的祖先,没有父母)。如果没有   parent,此选项的行为与_self相同。使用此属性   只有当href属性存在时才会出现。

您使用的任何其他字符串都会为链接的目标指定名称,然后您可以在其他位置使用该字符串在同一选项卡中打开其他链接。例如。如果你称之为“dave”,那么它将打开一个新标签,浏览器将其称为“dave”。与target="dave"的任何其他链接将在浏览器称为“dave”的选项卡中打开 - 而不是新选项卡。

答案 2 :(得分:0)

您需要稍微更改您的href:

  <a href="https://maps.google.ca/maps?
      q=3100+ReneLevesque+Quebec&amp;ie=UTF8&amp;hq=&amp;hnear=
      3100+ReneLevesque,+Quebec,+Qu%C3%A9bec+J4X+1C3&amp;t=m&amp;
      source=embed&amp;z=14&amp;iwloc=A" style="color:#0000FF;
      text-align:end"  target="_blank" >Bigger Map </a>

答案 3 :(得分:0)

How can I open a link in new tab (and not new window)?这个问题基本上是一回事。

简而言之,您可以使用css属性:

target-new:tab

但是,一般建议您不应该尝试控制用户正在做什么,将其留给他们和他们的浏览器。

答案 4 :(得分:0)

@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);
            }