Облако тегов JS + Flash. Фактические теги в облаке не кликабельны? - PullRequest
0 голосов
/ 27 марта 2010

Я реализовал облако тегов на своем сайте и использую JS-скрипт для его заполнения, но по какой-то причине фактический текст в облаке тегов не реагирует на нажатия. Он отображается и работает правильно, но фактический текст облака не рассматривается как ссылка по какой-то странной причине. Мой вопрос:

В моем сценарии ниже вы видите что-то, что мне нужно исправить, чтобы текст моего облака тегов действительно был ссылками?

Сайт, на котором я его реализовал, является сайтом стека, который я запускаю, он должен быть облаком "недавних тегов".

CloudPopulator.js


<script type="text/javascript">
var divRecentTags = document.getElementById("recent-tags");
if (divRecentTags) {
var cloud = new SWFObject("some/swfObject/url",    "tagcloudflash", "200", "200", "9", "#ffffff");
cloud.addParam("allowScriptAccess", "always");
cloud.addVariable("tcolor", "0x0a94d6");
cloud.addVariable("tcolor2", "0xC0C0C0");
cloud.addVariable("hicolor", "0x000000");
cloud.addVariable("tspeed", "150");
cloud.addVariable("distr", "true");
cloud.addVariable("mode", "tags");
var aTags = divRecentTags.getElementsByTagName("a");
var tagHtml = "";
for(var i = 0; i < aTags.length; i++) {
    var hrefText = aTags[i].getAttribute("href");
    var cssText = aTags[i].className;
    var tagName = $(aTags[i]).text();
    var styleText = "style=\'font-size: 8pt;\'";
    if (cssText == "post-tag pop1") {
        var styleText = "style=\'font-size: 15pt;\'";
    }
    else if (cssText == "post-tag pop2") {
        var styleText = "style=\'font-size: 22pt;\'";
    }
    var newLinkText = "<a href=\'"+hrefText+"\'"+styleText+">"+tagName+"</a>";
    tagHtml = tagHtml + newLinkText;
}
cloud.addVariable("tagcloud", escape("<tags>" + tagHtml + "</tags>"));
cloud.write("recent-tags");
}
</script>

1 Ответ

1 голос
/ 30 марта 2010

Почему вы подозреваете, что проблема в JS? Если вы вставляете данные в саму флешку, имеет ли она такую ​​же проблему? Если это так, посмотрите на свои TextFields и убедитесь, что они отображаются как HTML и запускают правильные события.

...