0

私はいくつかのキャンペーン SWF バナーを作成していますが、アクション スクリプトはあまり使用しないので、専門家の助けを借りて大いに感謝します。

リソースのダウンロードとして、私の Web サイトに私のバナーを提供しています。そして、いくつかのjavascript flashvarsを持つswfを埋め込む方法のチュートリアル。

これらのフラッシュ変数は、utm_source を変更するために Google キャンペーン リンクに連結されます。

これは私のjavascriptです...

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>
<script type="text/javascript">
    var flashvars = {};
    flashvars.campaignSource = window.location.hostname;
    var params = {};
    params.loop = "true";
    params.quality = "best";
    params.wmode = "opaque";
    params.swliveconnect = "true";
    params.allowscriptaccess = "always";
    var attributes = {};
    swfobject.embedSWF("banner.swf", "banner_mpu", "300", "250", "9.0.0", false, flashvars, params, attributes);
</script>

そして私のhtml...

<div id="banner_mpu">
    <a href="http://www.adobe.com/go/getflashplayer">
    <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
    </a>
</div>

したがって、上記の js はうまく機能しますが、誰もが私のチュートリアル コードを使用するわけではなく、おそらく独自の方法を使用して自分のサイトに swf バナーを埋め込むでしょう。

したがって、現在のホスト名をアクション スクリプト変数に取得するには、バックアップ アクション スクリプト 2 が必要です。

これは、これまでにボタン (swf) で使用したアクション スクリプトです...

on(release) {

    function GetTheHostname() {

        var RootFullUrl = _root._url;
        txtFullUrl.text = RootFullUrl;
        var lastSlashIndex:Number = RootFullUrl.lastIndexOf("/");
        var DriveIndex:Number = RootFullUrl.indexOf("|");

        if (DriveIndex>=0) {
        baseUrl = RootFullUrl.substring(0, DriveIndex);
        baseUrl += ":";

    } else {

        baseUrl = "";

    }

        baseUrl += RootFullUrl.substring(DriveIndex+1, lastSlashIndex+1);
        txtBaseUrl.text = baseUrl;
        return baseUrl;

    }

    var campaignSourceAS2:String= GetTheHostname();

    if ( _root.campaignSource == undefined ) {

        getURL("http://www.mysite.co.uk/?utm_source=" + campaignSourceAS2 + "&utm_medium=MPU&utm_campaign=My%20Campaign%202012", "_blank");

    } else {

        getURL("http://www.mysite.co.uk/?utm_source=" + _root.campaignSource + "&utm_medium=MPU&utm_campaign=My%20Campaign%202012", "_blank");

    }

}

私のアクション スクリプトの問題は、現在の完全な URL を返すことです。

baseURLの代わりにホスト名を取得するようにGetTheHostname関数を適応させるのを手伝ってくれませんか


前もって感謝します

4

1 に答える 1

1

その場合、URL から http:// を取り除き、最初の / に残っているすべてを取得するのと同じくらい簡単だと思います。

「http://www.example.com/category/actionscript」から「www.example.com」へのワンライナーは次のようになります。

var baseURL:String = _root._url.split("http://").join("").split("/")[0];

そしてあなたの完全な方法を置き換えるために

getURL("http://www.mysite.co.uk/?utm_source=" + (_root.campaignSource || _root._url.split("http://").join("").split("/")[0]) + "&utm_medium=MPU&utm_campaign=My%20Campaign%202012", "_blank");
于 2012-09-24T19:10:15.363 に答える