下载脚本和statcounter在不打开新页面的情况下协同工作
A download script and statcounter working together without opening a new page
我运行了这个下载脚本,它允许人们点击按钮下载文件,而不会打开任何新的html页面。一切都很好。这是剧本。
<?php
header('Content-disposition: attachment; filename=brochure-company-details.pdf');
header('Content-type: pdf');
readfile('brochure-company-details.pdf');
?>
然而,我真的希望能够同时运行statcounter脚本,以便记录谁在下载文件。当一个html页面打开并运行它的函数时,Statcounter脚本工作得很好。但我不想打开新的页面。我只想开始下载。用户体验是,他们只有文件下载,而不知道statcounter会记录事件。
你能帮忙吗?
您想要的是不可能的。(在pdf下载中执行javascript)Statcounter是一个脚本,由浏览器通过包含在html中来执行。如果你下载了一个pdf文件,你就没有执行任何js。
但是,statcounter可以看到按下了哪些链接,因此您可以找到下载的文件;只要您的文件是通过使用包含statcounter的html上的常规链接下载的。你根本不需要做任何事情,它们会被默认计算在内。
Dachi给出的想法是在您的php代码中添加一个sql插入。
<?php
$dbh = new PDO("sqlite:/path/to/database.sdb");
//Put the insertion code here.
//Insert things like the IP, the login name, the time, etc.
header('Content-disposition: attachment; filename=brochure-company-details.pdf');
header('Content-type: pdf');
readfile('brochure-company-details.pdf');
这也很有效,如果你不使用常规链接或不从有statcounter的html下载,这是一个很好的选择。
相关文章:
- 在不使用jquery的情况下查找页面中的所有锚点并附加函数
- 如何在不刷新页面的情况下更新显示框
- 我们如何在不更改url的情况下使用锚点点击从一个页面重定向到另一个页面
- 无法't在不使用Javascript刷新页面的情况下多次将值传递给文本框
- 如何在不使用Page.Theme属性的情况下设置页面样式和主题
- 在不刷新整个网格的情况下,向Asp.net网格视图添加新行
- 如何在不重新加载的情况下提交表单,并使用Node+Express将数据传递回同一页面
- 如何通过Primefaces3.5使用JSF2.0验证并在成功的情况下打开一个新的选项卡
- 如何在不使用JS发出新请求的情况下读取当前标头
- 如何在发送时不打开新页面的情况下使用php/ajax发送表单
- 避免在打印后加载新页面,下一页应从上次打印页面的剩余部分打印 - 点阵打印机
- 下载脚本和statcounter在不打开新页面的情况下协同工作
- 在不打开新页面的情况下从浏览器调用客户端URL
- 为什么新的web Dropbox可以在不刷新页面的情况下更改URL
- 如何在不打开新页面的情况下将javascript变量传递给php
- 在不重新加载页面的情况下加载新的动态图表
- jQuery在没有表单的情况下通过POST将变量传递到新页面
- 如何在不创建新部分的情况下只保留覆盖页面的雪效果?
- 如何在不重新加载基于标签片段的页面的情况下加载新内容?
- 在不刷新页面的情况下使用新字符串参数启动javascript