علامة السحابة JS + فلاش. العلامات الفعلية في السحابة غير قابلة للنقر؟
-
22-09-2019 - |
سؤال
لقد قمت بتطبيق سحابة علامة على موقع لي ، وأنا أستخدم برنامج نصي JS لملءها ، ولكن لسبب ما ، لا يمكن النقر على النص الفعلي في سحابة العلامات. إنه يعرض ويعمل بشكل صحيح ، لكن النص الفعلي للسحابة لا يتم التعامل معه كرابط لسبب غريب. سؤالي هو:
في البرنامج النصي أدناه ، هل ترى أي شيء أحتاج إلى إصلاحه من أجل جعل نص Cloud الخاص بي في الواقع روابط؟
الموقع الذي قمت بتطبيقه عليه هو موقع stackexhange الذي أقوم بتشغيله ، من المفترض أن يكون سحابة من "العلامات الحديثة".
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>
المحلول
لماذا تشك في أن JS هي المشكلة؟ إذا وضعت البيانات في الفلاش نفسه ، فهل لديها نفس المشكلة؟ إذا كان الأمر كذلك ، فابحث عن حقول النص الخاصة بك وتأكد من تقديمها كـ HTML وتطلق الأحداث الصحيحة.
لا تنتمي إلى StackOverflow