在不重定向的情况下对网址执行ping操作

时间:2017-05-19 03:29:24

标签: javascript html

我有两个网址:

  • A用于重定向到目标网页
  • B用于跟踪目的(应该对此URL进行ping而不重定向)

上述操作应使用任何点击事件同时进行。

是否可以使用HTML或javascript实现此目的。

我找到了这段代码:

<a href="http://www.omsaicreche.blogspot.com" onclick="location.href='http://www.omsaivatikanoida.blogspot.com';" target="_blank"> Open Two Links With
One Click</a>

但是onclick事件会重定向到这两个页面。

2 个答案:

答案 0 :(得分:0)

点击后,它会重定向&#34;对于这两个页面,因为<a>标记的target属性为_blank - href属性中的网址将在新窗口中打开,当前窗口将显示其页面, URL在onclick处理程序中定义。

通常,当点击链接并访问另一个页面时,新页面需要显示在当前窗口中。在这种情况下,应删除target="_blank"

为了发送跟踪请求并同时显示新页面。有3个解决方案:

解决方案1。在当前页面中,单击链接时,发送跟踪请求,并在一小段时间后重定向到新页面。这一切都发生在JavaScript中,没有target="_blank"href中没有网址。

例如:

<a href="javascript:;" onclick="visitPageX()">link</a>

function visitPageX() {
  // send Ajax request to the track URL
  setTimeout(function() {
    location.href = 'http://{pageXURL}';
  }, 300);
}

请注意,时间间隔(在上面的代码中为300ms)取决于Web应用程序的网络环境。如果它太小,则在重定向页面之前不会发送HTTP跟踪请求。如果它太大,设计效果(如旋转器)可能会有所帮助。使用此时间间隔是因为对于跟踪请求,页面不需要等待其响应,只需保证请求已发送且一切正常。

解决方案2. 点击链接后,立即转到新页面。打开新页面时,发送HTTP请求进行跟踪。

例如:

<a href="http://{pageXURL}">link</a>

// JavaScript code in page X, running when page X is opened.
// send Ajax request to the track URL

请注意此解决方案不准确。如果用户单击原始页面中的链接但未能打开页面X,或者页面X中的跟踪脚本代码无法运行,则无法跟踪此类事件。

解决方案3. 点击链接后,立即转到新页面。在服务器端程序中,当访问新页面X时,发送跟踪请求(来自服务器)。

此解决方案优于解决方案2,但可能会带来更多复杂性。

答案 1 :(得分:0)

仅限跟踪目的,您可以在B url上使用iframe。当用户单击您的链接时,将打开一个新窗口,但用户将保留在当前页面上。

<a href="http://www.omsaicreche.blogspot.com"   onClick='document.getElementById("track").src="http://www.omsaivatikanoida.blogspot.com";'" target="_blank">
  Open Two Links With One Click
</a>
<iframe id='track' frameborder="0" scrolling="no" width="100" height="100">

您可以将框架宽度和高度设置为可见或不可见。