你的
cfcontent
输出二进制数据并告诉浏览器将其视为
application/pdf
Content-Type
HTTP头)。不能向其中添加HTML或JavaScript,因为这样会破坏PDF文档。我在这里看到两种选择:
1使用中间页
open_pdf.cfm
<cfoutput>
<h1>Please wait while we prepare the PDF document for you...</h1>
<script async src="https://www.googletagmanager.com/gtag/js?id=#Key#"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag("js", new Date());
gtag("config", "#Key#");
var secondsToWait = 4;
setTimeout(function() { window.location.href = 'render_pdf.cfm'; }, secondsToWait * 1000);
</script>
</cfoutput>
render_pdf.cfm
<cfpdf action="read" name="RawFile" source="#RawUrl#" />
<cfcontent variable="#toBinary(RawFile)#" type="application/pdf" />
打开pdf.cfm
2在你的PDF中嵌入谷歌分析
你可以
run JavaScript code in a PDF document
. 请注意,由于PDF查看器中的安全限制,这可能有点棘手。即使如此,我还是强烈建议你不要使用这个选项,因为它可能会导致更多的问题,而不是正确的GA印象。