我已经在http://example.com/banner下为网页横幅创建了一个页面,我将此链接发送到发布者网站并支付其运行费用。
但是,有些发布商在运行,有些则没有,我想找到该页面需要哪个父URL或单击来自何处。通常,他们会将这个网址放在iframe中以进行投放。
(许多页面没有传递引荐参数。)
我在JS和PHP中尝试了不同的方法,但是您可能会猜到我将http://example.com/banner作为父URL。
是否可以使用PHP,JS或任何其他代码来从其他域中了解父URL?我有一个发布商列表,但我还需要知道除那些网站之外,哪些网站运行着横幅广告。
为了更清晰,这里是一个模式:
我的带有横幅的页面>我的发布者网站>用户访问 出版商
我不想获得访问我的发布者网站或页面的用户的IP 网址。我想查看介于两者之间的发布商网站的URL。
由于这是我的Web服务器,因此我可以毫无问题地读取访问日志,错误日志等。
我愿意接受任何建议。
谢谢!
答案 0 :(得分:0)
您可以尝试在服务器上托管一个javascript文件。
然后,他们会将脚本放置在要放置横幅的任何位置:
<script src="//yoursite.com/banner.js"></script>
您可以在该URL中使用参数来提供自定义js。
然后从根本上代码看起来类似于以下内容,该代码将标语插入放置脚本的DOM中。您从window.location.href
获取站点URL,然后在请求图像时将其作为参数发送。 (您也可以使用Cookie等)
<script>
// inject an anchoring element
document.write('<div class="banner_ad"></div>');
// find it
var parentDiv = document.getElementsByClassName("banner_ad");
// create the img/banner, notice the site param
var banner = document.createElement("img");
banner.src = 'http://via.placeholder.com/350x150?site=' + encodeURI(window.location.href);
// loop over the parent elements of each anchoring element
for (var i = 0, len = parentDiv.length; i < len; i++) {
// create the link
var link = document.createElement('a');
link.appendChild(banner);
link.setAttribute('title', 'Ads by Foobar');
link.setAttribute('href', 'http://example.com');
// inject the link and img
parentDiv[i].parentNode.appendChild(link);
}
</script>
然后在服务器端,寻找$_GET['site']
参数。
这不是万无一失的,没有。