获取带有操作脚本2的主机名

时间:2012-09-24 13:48:18

标签: actionscript-2

我正在制作一些广告系列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");

    }

}

我的操作脚本的问题是它返回完整的当前网址。

任何人都可以帮我调整GetTheHostname函数来获取主机名而不是baseURL


提前致谢

1 个答案:

答案 0 :(得分:1)

在这种情况下,我想它会像从网址中剥离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");