0

主に私の仕事で私はフラッシュバナーをします。MediaMindまたはDoubleClickを使用することがよくありますが、NineMSNやYahoo!などの特定のサイト運営者の要件を満たすために広告を開発する必要がある場合もあります。

これらはそれぞれ、「clickTag」の仕様が異なります。clickTagは基本的に、flashvarsに解析される変数の名前であり、ユーザーが広告をクリックしたときのクリックスルーURLが含まれています。

ここに出ているものがいくつかあります:

clickTag
clickTAG
_root.clickTag
_level0.clickTag

そして、上記の任意の組み合わせ(すなわち、異なるケーシングなど)。

私はそれを理解して_root不要_level0だったので、それらを削除しました。それから私はclickTagが間違っていたと言って出版社の1つに爆破されました(私が_root正面からを削除したため)。彼女は、ボタンに適用されたアクションスクリプトを表示できるオンラインツールを使用していましたが、実際にシステムで広告をテストして、機能するかどうかを確認していませんでした。

したがって、質問1:ほぼ確実で_root.varあり、_level0.varすべてvar同じものです(_root/メインタイムラインから明らかに)。_level0おそらく、またはを介してのみ変数にアクセスできるようにする方法でflashvarsを介して解析できる場合を除きます_root(私が知る限り、これを行うことはできません)。

質問2:私が気付いたもう1つのことは、ボタン自体に直接ではなく、タイムラインでクリックを適用することでした(コードをオブジェクトに直接配置するのは嫌いです)。そのようです:

btn.onRelease = function():Void
{
    getURL(clickTag, "_blank");
}

これをボタン自体に配置するのではなく、次のようにします。

on(release)
{
    getURL(clickTag, "_blank");
}

ここでも違いがあるのか​​わかりませんか、それともありますか?

私の最後の質問は次のとおりです。2つの異なるスタイルで3つの異なる広告サイズの12のコピーを作成し、適切なclickTagを各バナーに適用して、パブリッシャーに直接送信します。このような単一のsuper-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;
        }
    }
}
4

3 に答える 3

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;
            }
        }
    }
于 2011-05-30T16:59:43.813 に答える
0

さらに、さまざまなクリックタグを検索する最後のコードスニペットでも、貧しい少女にバナー検証ツールからのOKが得られない場合があります(経験から話しています!; o))。

于 2011-08-13T18:57:27.737 に答える
0

私の経験では、次のスニペットは複数の変数クリックタグ名に対して機能し、はるかに短く単純です。

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");
    }
}

クライアントやプロジェクトマネージャーが理解できないという理由だけで、これをクライアントやプロジェクトマネージャーに伝えることは決してありません。

于 2014-02-21T13:06:43.967 に答える