0

我正在创建一些活动 swf 横幅,并且我不经常使用动作脚本,因此非常感谢专家的任何帮助。

我在我的网站上提供我的横幅作为资源下载。以及如何嵌入具有一些 javascript flashvars 的 swf 的教程。

然后将这些 flash 变量连接到 google 活动链接以更改 utm_source。

这是我的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。

谁能帮我调整 GetTheHostname 函数以获取主机名而不是 baseURL


提前致谢

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 回答