Changeset 1353 for trunk


Ignore:
Timestamp:
02/04/18 02:13:49 (10 months ago)
Author:
gogo
Message:

#1432 Implement title attribute for Linker

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/XinhaCore.js

    r1346 r1353  
    59025902  html = html.replace(/<(\/?)del(\s|>|\/)/ig, "<$1strike$2"); 
    59035903 
    5904   // disable inline event handle inside Xinha iframe 
    5905   html = html.replace(/(<[^>]*on(click|mouse(over|out|up|down))=["'])/gi,'$1if(window.parent &amp;&amp; window.parent.Xinha){return false}'); 
     5904  // disable inline event handle inside Xinha iframe but only if they are not empty attributes 
     5905  html = html.replace(/(<[^>]*on(click|mouse(over|out|up|down))=')([^']+')/gi,'$1if(window.parent &amp;&amp; window.parent.Xinha){return false}$4'); 
     5906  html = html.replace(/(<[^>]*on(click|mouse(over|out|up|down))=")([^"]+")/gi,'$1if(window.parent &amp;&amp; window.parent.Xinha){return false}$4'); 
    59065907   
    59075908  html = this.inwardSpecialReplacements(html); 
  • trunk/plugins/Linker/dialog.html

    r1097 r1353  
    1111        <th><label for="[href]"><l10n>URL:</l10n> </label></th> 
    1212        <td><input type="text" name="[href]" id="[href]" style="width:100%" value="http://www.example.com/" onfocus="if (this.value == 'http://www.example.com/') this.value = '';" /></td> 
     13      </tr> 
     14      <tr> 
     15        <th><label for="[title]"><l10n>Title:</l10n> </label></th> 
     16        <td><input type="text" name="[title]" id="[title]" style="width:100%" value="_(Shows On Hover)" default_value="_(Shows On Hover)" onfocus="if (this.value == this.getAttribute('default_value')) this.value = '';" /></td> 
    1317      </tr> 
    1418      <tr style="vertical-align: top;" id="[target_options]"> 
  • trunk/plugins/Linker/pluginMethods.js

    r1257 r1353  
    1616    type:     'url', 
    1717    href:     'http://www.example.com/', 
     18    title:    this._lc('Shows On Hover'), 
    1819    target:   '', 
    1920    p_width:  '', 
     
    2526    anchor:   '' 
    2627  }; 
    27  
     28   
    2829  if(a && a.tagName.toLowerCase() == 'a') 
    2930  { 
     
    3132    var m = href.match(/^mailto:(.*@[^?&]*)(\?(.*))?$/); 
    3233    var anchor = href.match(/^#(.*)$/); 
    33  
     34    var title = a.getAttribute('title'); 
     35     
    3436    if(m) 
    3537    { 
     
    5961    else 
    6062    { 
    61       if(a.getAttribute('onclick')) 
     63      if(a.getAttribute('onclick') && String(a.getAttribute('onclick')).length) 
    6264      { 
    6365        var m = a.getAttribute('onclick').match(/window\.open\(\s*this\.href\s*,\s*'([a-z0-9_]*)'\s*,\s*'([a-z0-9_=,]*)'\s*\)/i); 
     
    6567        // Popup Window 
    6668        inputs.href   = href ? href : ''; 
     69        inputs.title = title; 
    6770        inputs.target = 'popup'; 
    6871        inputs.p_name = m[1]; 
     
    8992        inputs.href   = href; 
    9093        inputs.target = a.target; 
     94        inputs.title = title; 
    9195      } 
    9296    } 
     
    115119      onclick:'' 
    116120    }; 
    117  
     121     
     122    if(values.title == linker._lc('Shows On Hover'))  
     123    { 
     124      values.title = ''; 
     125    } 
     126     
    118127    if(values.type == 'url') 
    119128    { 
     
    122131       atr.href = values.href.trim(); 
    123132       atr.target = values.target; 
     133       atr.title = values.title; 
    124134       if(values.target == 'popup') 
    125135       { 
     
    177187        for(var i in atr) 
    178188        { 
    179           a.setAttribute(i, atr[i]); 
     189          if(String(atr[i]).length > 0) 
     190          { 
     191            a.setAttribute(i, atr[i]); 
     192          } 
     193          else 
     194          { 
     195            a.removeAttribute(i); 
     196          } 
    180197        } 
    181198         
     
    211228          for(var j in atr) 
    212229          { 
    213             anchor.setAttribute(j, atr[j]); 
     230            if(String(atr[j]).length > 0) 
     231              anchor.setAttribute(j, atr[j]); 
    214232          } 
    215233        } 
Note: See TracChangeset for help on using the changeset viewer.