主要是在我的工作中我会做横幅广告。通常我会使用 MediaMind 或 DoubleClick ,但很明显我需要制作广告以满足某些发布商(如NineMSN和Yahoo)的要求!
其中每个都有不同的“clickTag”规格。 clickTag基本上只是一个变量的名称,该变量被解析为flashvars并包含人们点击广告时的点击URL。
以下是一些有关的内容:
clickTag
clickTAG
_root.clickTag
_level0.clickTag
以上的任何组合(即不同的外壳等)。
我认为_root
和_level0
是不必要的,所以我删除了它们。然后我被其中一个发布者抨击说clickTag不正确(因为我从前面删除了_root
)。她正在使用一些在线工具,允许他们查看应用于按钮的动作脚本,他们实际上没有在他们的系统中测试广告,看它是否有效。
所以,问题1 :我几乎可以确定_root.var
,_level0.var
和var
都是一样的(来自_root
/ /主要时间表显然)。除非它可以通过flashvars进行解析,使变量只能通过_level0
或_root
访问(据我所知,你不能这样做)。
问题2 :我接受的另一件事是在时间轴中应用点击而不是直接在按钮本身上(我讨厌将任何代码直接放在对象上)。像这样:
btn.onRelease = function():Void
{
getURL(clickTag, "_blank");
}
而不是放在按钮本身上:
on(release)
{
getURL(clickTag, "_blank");
}
我不知道这里可能会有什么不同,或者在那里?
我的最终问题是:我花了一个小时创建了两种不同风格的3种不同广告尺寸的12个副本,以便将相应的clickTag应用于每个横幅,以便直接发送给发布商。为什么我不能像这样创建一个超级clickTag?
var clicktags:Array = [clickTag, clickTAG, uncommonClickTag];
btn.onRelease = function():Void
{
var i:Number = 0;
for(i; i<clicktags.length; i++)
{
var s:String = clicktags[i];
if(s != undefined)
{
getURL(s, "_blank");
break;
}
}
}
答案 0 :(得分:3)
问题1:你是完全正确的,你的出版商同事是错的,但她是(为老板工作),可能没有接受你的解决方案所需的理解。对她来说,通过一些不透明的工具运行横幅并获得确定更安全,而它肯定是“摇摆船”,要求她的老板接受你完美形成的“违规行为”。
另外,你能完全确定你的旗帜不会加载到另一个swf(打破_rootless代码)吗?也许不太可能,但如果出现问题......
最后,问题3使整个事情变得没有实际意义,正如您将看到的那样。是的,您确实可以执行类似代码片段的操作,但是您必须使用字符串作为flashvar名称,并针对从_root [flashVarNameString]获取的标记值执行未定义的测试,如下所示:
var clicktags:Array = ["clickTag", "clickTAG", "uncommonClickTag"];
btn.onRelease = function():Void
{
var i:Number;
for(i; i<clicktags.length; i++)
{
var s:String = clicktags[i];
var tagVal:String = _root[s];
if(tagVal != undefined)
{
getURL(s, "_blank");
break;
}
}
}
答案 1 :(得分:0)
此外,您搜索不同点击标签的最后一个代码段也可能无法让这位可怜的女孩从她的横幅验证工具中获得好处(从经验谈起来!; o))。
答案 2 :(得分:0)
根据我的经验,以下代码段适用于多个变量clicktag名称,并且更短更简单:
btn.onRelease = function():Void
{
var url = (_root.ClickTag || _root.clickTag || _root.clicktag || _root.clickTAG || _root.ClickTAG);
if (url.substr(0,4) == "http") {
getURL(url, "_blank");
}
}
可以在按钮实例上使用相同的代码:
on (release)
{
var url = (_root.ClickTag || _root.clickTag || _root.clicktag || _root.clickTAG || _root.ClickTAG);
if (url.substr(0,4) == "http") {
getURL(url, "_blank");
}
}
我从不告诉我的客户或项目经理,只是因为他们不理解。