我想在其他人的HTML页面上有一个提交按钮(有权限)。单击它时,我希望该页面上的代码获取该页面的URL,并将该URL发送到我的服务器(用户不会被发送/链接到另一个页面)。这只能使用HTML和PHP吗?
- 编辑 -
我可以链接到另一个页面,只要我的服务器首先收到网址,如果有帮助的话。
有没有办法只使用客户端页面上的html和我服务器上的php?
答案 0 :(得分:1)
使用PHP,您可以阅读$_SERVER['HTTP_REFERER']
变量,但这比使用Javascript获取当前window.location
并发布该变量更不可靠。顺便说一下,如果你不想“重定向”用户,你还是需要JS来发送Ajax的发布请求。
答案 1 :(得分:0)
使用bookmarklet进行调查,以便用户能够将有关其网页的数据发送到您的服务器。
作为此类事例的一个例子,请查看Amazon's bookmarklet,它可以让您从任何网站添加内容到您的亚马逊愿望清单 - 同样的想法。
答案 2 :(得分:0)
假设你有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>
“当点击它时,我希望该页面上的代码抓取该页面的网址”这句话暗示如下:
1)有人在X的网站上发布的元素
2)“点击”通常由人工制作,大多数浏览器都支持javascript - 你能不能真正使用它?
3)“抓取网址” - 有两种方法:1)使用javascript; 2)像其他人建议的那样在http_referrer上转发
所以,我提供了解决方案,其中使用了javascript(+ jQuery)。可以删除jQuery,使用纯JavaScript可以实现相同的效果。如果您不允许使用JavaScript,http_referrer只是您可以继续使用的东西。但这是非常不可靠的,因为很多人都关闭了这个功能。