Как добавить теги <hr /> и UTM в AS3? - PullRequest
0 голосов
/ 01 марта 2011

У меня есть два требования, и я не уверен, что это возможно в AS3. Во всяком случае, я объясню, что я хочу.

во-первых, мне нужно показать тег <hr/> после описания, это виджет rss, поэтому нужно отделять каждый пост rss от границы или hr. Невозможно сделать это вручную, потому что он пришел из xml. Я дам вам существующий сценарий со мной.

во-вторых, мне нужно добавить тег utm после URL для отслеживания кликов, это на самом деле мне нужно добавить после ссылок 'utm_source = rsswidget', вы получите представление, увидев скрипт ниже

   var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onLoaded);

var xml:XML;

function onLoaded(e:Event):void
{
var style:StyleSheet = new StyleSheet();
style.setStyle(".heading", {fontWeight:"bold", color:"#6184b7", fontSize:12});
style.setStyle("body", {fontStyle:"italic"});

xml = new XML(e.target.data);
    var il:XMLList = xml.channel.item;
    for(var i:uint=0; i<il.length(); i++)
    {

t.setStyle("styleSheet", style);
t.htmlText = "<a href='"+il.link.text()[0]+"' class='heading'>"+il.title.text()[0]+"</a>"+"\<br />"+il.description.text()[0]+"\<br/><br/>"+"<a href='"+il.link.text()[1]+"' class='heading'>"+il.title.text()[1]+"</a>"+"\<br />"+il.description.text()[1]+"\<br /><br />"+"<a href='"+il.link.text()[2]+"' class='heading'>"+il.title.text()[2]+"</a>"+"\<br />"+il.description.text()[2];
    }

}

t обозначает текстовую область.

надеюсь, что ваши ответы скоро получатся ..

Пол

1 Ответ

0 голосов
/ 01 марта 2011

Тег HR не поддерживается в Actionscript.Мое предложение будет заключаться в том, чтобы просто использовать цикл для анализа всех ваших элементов XML и добавлять визуальные кадры HR в виде фрагментов роликов из вашей библиотеки после каждой записи ... возможно, примерно так (кстати, это весь псевдокод - у меня нет 't проверял это):

var xmlData:String = "<channel><item><link>My link</link> <description>My description</description> </item> <item> <link>My link</link> <description>My description</description> </item> <item> <link>My link</link> <description>My description</description> </item>  <item> <link>My link</link> <description>My description</description> </item> </channel>"
var xml:XML = new XML(xmlData);

var buffer = 5
var ypos = 0

for(var i:uint=0; i<xml.item.length(); i++){
    // create the textfield and populate it with your data
    var t = new TextField()
    t.border = true
    t.autoSize = TextFieldAutoSize.LEFT
    t.multiline = true
    t.wordWrap = true
    t.y = ypos
    t.htmlText = "<a href='"+xml.item[i].link+"' class='heading'>"+xml.item[i].link+"</a>"+"\<br />"+xml.item[i].description
    this.addChild(t)

    // create one HR
    var hr = new HorizontalLine() // this would be a movieclip in your library with the linkage HorizontalLine
    hr.y = t.y + t.height + buffer
    this.addChild(hr)

        // positioning
    ypos = hr.y + buffer
}

Также, вот FLA, сохраненный в CS4, если вы все еще застряли: http://clearmpls.com/temp/xml-list.zip

...