【问题标题】:Make a ping to a url without redirecting在不重定向的情况下对 url 进行 ping
【发布时间】:2017-05-19 03:29:24
【问题描述】:

我有两个网址:

  • 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 事件会重定向到两个页面。

【问题讨论】:

标签: javascript html


【解决方案1】:

点击后,它“重定向”到两个页面,因为&lt;a&gt;标签有target属性为_blank——href属性中的URL将在新窗口中打开并显示当前窗口其 URL 在 onclick 处理程序中定义的页面。

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

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


解决方案1. 在当前页面,当点击链接时,发送track request,稍等片刻后,重定向到新页面。这一切都发生在 JavaScript 中,没有 target="_blank",href 中没有 URL。

例如:

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

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

请注意时间间隔(在上面的代码中,它是300ms)取决于网络应用程序的网络环境。如果它太小,在页面重定向之前将不会发送用于跟踪的 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 被访问时,发送跟踪请求(来自服务器)。

这个方案比方案二好,但是可能会带来更多的复杂性。

【讨论】:

  • 嘿@Shaochuancs,你知道在解决方案1中在哪里插入我们的跟踪网址吗?我在这里问了一个问题:stackoverflow.com/questions/46851955/…
  • 嗨,@DomainsFeatured,抱歉耽搁了。我想詹姆斯已经回答了你的问题:)
【解决方案2】:

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

<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">

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

【讨论】:

  • 谢谢兄弟,它也能满足我的需要,但我注意到控制台的网络选项卡中有多个 B URL ping
  • “ping”是从哪里来的?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-01-14
  • 2012-05-22
  • 1970-01-01
  • 2013-08-11
  • 1970-01-01
  • 1970-01-01
  • 2017-02-16
相关资源
最近更新 更多