Google-Web-Toolkit 在图像中添加 alt attrib



嗨,我有一个带有箭头的图像。我想添加"alt"属性。

这是我的班级:

public interface DisclosurePanelArrows extends ClientBundle
{
    public static final DisclosurePanelArrows INSTANCE = GWT.create(DisclosurePanelArrows.class);
    @Source("disclosurePanelClosed.png")
    ImageResource disclosurePanelClosed();

    @Source("disclosurePanelOpen.png")
    ImageResource disclosurePanelOpen();
}

我在这里使用了它:(不起作用)

 closedImage = new ICMImage(DisclosurePanelArrows.INSTANCE.disclosurePanelClosed());
        openImage = new ICMImage(DisclosurePanelArrows.INSTANCE.disclosurePanelOpen());
 closedImage.getElement().setAttribute("alt", "close test alt");
        openImage.getElement().setAttribute("alt", "open test alt");

我注意到 HTML 标签是以编程方式创建的,并在 .gwtml 文件中生成它。

我找到的唯一链接到它的js是这个在WAR文件夹中,所以我不确定。

function com_irondata_icmcase_ICMCase(){var O='',vb='" for "gwt:onLoadErrorFn"',tb='" for "gwt:onPropertyErrorFn"',hb='"></script>',Y='#',cc='../css/ICMCase.css',dc='../css/dummy.css',bc='../css/theme.css',Wb='.cache.html',$='/',Rb='3A2B8EBB69B48C7A8A7573A74E0C6812',Sb='59203CCA1EBBD79FD6BB80354E15F64D',Vb=':',nb='::',kc='<script defer="defer">com_irondata_icmcase_ICMCase.onInjectionDone('com.irondata.icmcase.ICMCase')</script>',gb='<script id="',gc='<script language="javascript" src="',qb='=',Z='?',Eb='ActiveXObject',sb='Bad handler "',Tb='C3CB1347D72F2C0FB0DF18AB080081C2',Fb='ChromeTab.ChromeFrame',Ub='DDDD212960179CCBED9A98B8863C29E1',ec='DOMContentLoaded',ib='SCRIPT',fb='__gwt_marker_com.irondata.icmcase.ICMCase',jb='base',bb='baseUrl',S='begin',R='bootstrap',Db='chromeframe',ab='clear.cache.gif',P='com.irondata.icmcase.ICMCase',db='com.irondata.icmcase.ICMCase.nocache.js',mb='com.irondata.icmcase.ICMCase::',pb='content',X='end',Lb='gecko',Mb='gecko1_8',T='gwt.codesvr=',U='gwt.hosted=',V='gwt.hybrid',Xb='gwt/chrome/chrome.css',ub='gwt:onLoadErrorFn',rb='gwt:onPropertyErrorFn',ob='gwt:property',ac='head',Pb='hosted.html?com_irondata_icmcase_ICMCase',_b='href',Kb='ie6',Jb='ie8',Ib='ie9',wb='iframe',_='img',xb="javascript:''",fc='js/amathcontext.js',hc='js/amathcontext.js"></script>',ic='js/bigdecimal.js',jc='js/bigdecimal.js"></script>',Yb='link',Ob='loadExternalRefs',kb='meta',zb='moduleRequested',W='moduleStartup',Hb='msie',lb='name',Bb='opera',yb='position:absolute;width:0;height:0;border:none;alt=""',Zb='rel',Gb='safari',cb='script',Qb='selectingPermutation',Q='startup',$b='stylesheet',eb='undefined',Nb='unknown',Ab='user.agent',Cb='webkit';var l=window,m=document,n=l.__gwtStatsEvent?function(a){return l.__gwtStatsEvent(a)}:null,o=l.__gwtStatsSessionId?l.__gwtStatsSessionId:null,p,q,r,s=O,t={},u=[],v=[],w=[],x=0,y,z;n&&n({moduleName:P,sessionId:o,subSystem:Q,evtGroup:R,millis:(new Date).getTime(),type:S});if(!l.__gwt_stylesLoaded){l.__gwt_stylesLoaded={}}if(!l.__gwt_scriptsLoaded){l.__gwt_scriptsLoaded={}}function A(){var b=false;try{var c=l.location.search;return (c.indexOf(T)!=-1||(c.indexOf(U)!=-1||l.external&&l.external.gwtOnLoad))&&c.indexOf(V)==-1}catch(a){}A=function(){return b};return b}

我也尝试了这个解决方案,但它将 alt 放在差异标签中

有什么建议吗?谢谢。

假设ICMImage是一种com.google.gwt.user.client.ui.Image,那么setAltText呢?

否则,请显示ICMImage的代码,因为您没有显示如何使用ImageResource

我找到了。经过 8 个多小时的挣扎。这是答案。

 protected DisclosurePanel         disclosurePanel;
  if(disclosurePanel.getElement().hasChildNodes()) 
        { 
            NodeList<com.google.gwt.dom.client.Element> imgs =  disclosurePanel.getElement().getElementsByTagName("img");
            com.google.gwt.dom.client.Element elem = imgs.getItem(0);
            elem.setAttribute("alt", " ");
        }

最新更新