【问题标题】:How to send current url to server?如何将当前网址发送到服务器?
【发布时间】:2011-09-20 18:03:31
【问题描述】:

我想在其他人的 HTML 页面上有一个提交按钮(经许可)。单击它时,我希望该页面上的代码获取该页面的 url,并将该 URL 发送到我的服务器(不会将用户发送/链接到另一个页面)。仅使用 HTML 和 PHP 是否可行?

-- 编辑--

只要我的服务器首先收到网址,我就可以链接到另一个页面,如果有帮助的话。

有没有办法只用客户端页面上的html和我服务器上的php来做到这一点?

【问题讨论】:

  • 您还需要一些 JavaScript,除非您可以链接回同一页面。

标签: php html url button


【解决方案1】:

使用 PHP,您可以读取 $_SERVER['HTTP_REFERER'] 变量,但这不如使用 Javascript 获取当前的 window.location 并发布该变量可靠。顺便说一句,如果您不想“重定向”用户,则无论如何都需要 JS 来通过 Ajax 发送发布请求。

【讨论】:

  • 嗨 Rijk,我可以链接到另一个页面,只要我的服务器首先收到 url,如果有帮助的话。有没有办法只用客户端页面上的html和我服务器上的php来做到这一点?
  • 正如我所说 - 是的,你可以,使用 $_SERVER['HTTP_REFERER'] 变量。
【解决方案2】:

假设你有 jQuery:

<div id="track_button">Send URL</div>

<script>
    function send_url(){
        $("body").append("<iframe src=\"http://yourdomain/script.php?url=" + encodeURIComponent(document.URL) + "\" style=\"width: 0px; height: 0px; border: none;\"></iframe>");
    }
    $(document).ready(function(){
        $("#track_button").button().click(function(){
            send_url();
        });
    });
</script>

“当它被点击时,我希望该页面上的代码获取该页面的 url”这句话意味着以下内容:
1) 有元素,发布在人的X网站上
2)“点击”通常是人为的,大多数浏览器都支持javascript - 你真的不能用吗?
3)“抓取网址”——有两种方法:1)使用javascript; 2) 按照其他人的建议在 http_referrer 上中继

因此,我提供了使用 javascript (+jQuery) 的解决方案。可以去掉 jQuery,用纯 JavaScript 也可以达到同样的效果。如果您不允许放置 JavaScript,则 http_referrer 是唯一可以中继的东西。但这很不可靠,因为很多人都关闭了该功能。

【讨论】:

  • 嗨 jancha,只要我的服务器首先收到 URL,我就可以链接到另一个页面,如果有帮助的话。有没有办法只用客户端页面上的html和我服务器上的php来做到这一点?
【解决方案3】:

使用bookmarklet 进行调查,以使用户能够将有关其网页的数据发送到您的服务器。

作为这类事情的一个例子,看看Amazon's bookmarklet,它可以让你将任何网站的东西添加到你的亚马逊愿望清单——同样的想法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-12
    • 1970-01-01
    • 2021-07-14
    • 2016-09-25
    • 2017-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多