我的广告网络中有代码,我正在尝试插入现有规则,从服务器调用广告并将其放入div中。
我通常会将javascript代码嵌入到我的标题中:
<script type="text/javascript">var z=document.createElement("script");z.type="text/javascript";z.async=true;z.src="http://engine.adzerk.net/z/12735/azk1_2_5";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(z, s);</script>
然后放在身体中的div部分:
<div id="azk1"></div>
div就像这样放置:
rule NAME {
select when pageview "url"
pre {
ad = '<div id="azk1"></div>';
}
replace_inner("#ad-slot-1", ad);
}
首先,div放置是否正确完成?第二,我如何格式化规则的javascript?我使用全局发射吗?我可以将它存储在另一台服务器上并调用它吗?如果是这样,应该如何格式化?
THX
答案 0 :(得分:2)
你可以通过两种方式做到这一点。 第一个是use resource
syntax。把它放在全局块中:
use javascript resource "http://yourserver.com/path/to/javascript.js"
然后将JavaScript放在该文件中。
第二个选项是在规则本身中使用emit。它进入操作块,因此您的新规则将如下所示:
rule NAME {
select when pageview "url"
pre {
ad = '<div id="azk1"></div>';
}
{
emit <|
// Your JavaScript here
|>;
replace_inner("#ad-slot-1", ad);
}
}
您要放入文件或emit
块中的JavaScript是您最初提供的代码中<script>
标记之间的所有内容。