Hi!

I have a slide show/rotater that has images and overlayed text. Some of the slides, images and overlayed text link to external sites. With some the "External Link" icon is shown only by the overlayed text, but by Opera 12 and IE 10 it is also shown by the image and pushes the slideshow image to the right messing up the layout, so that the opaque block under the text is not lined up with the image. Here you can see this in a screen shot of IE10.
59-External_links_icon_shows_in_IE_10.png

Here it is by Opera 12. I have replaced the original "external link" icon in CSS with the same image in image sprite. That is why you see two CSS selectors for the ext class.

Opera displays this: <span class="ext"/>
for this html <span class="ext"></span>

46-External_links_icon_shows_in_Opera_12.png

Anyone know why this is displaying when it should not? See #132246
Thanks for your work on this module and God Bless!
Frederick

Comments

Is it just external links? or mail-to links as well?

Related Issue: #132246: Don't mark imagelinks as external links

Here is the code specific to this issue. It has changed a bit from the older issue.

<?php
if (Drupal.settings.extlink.extClass) {
   
// Apply the "ext" class to all links not containing images.
   
if (parseFloat($().jquery) < 1.2) {
      $(
external_links).not('[img]').addClass(Drupal.settings.extlink.extClass).each(function() { if ($(this).css('display') == 'inline') $(this).after('<span class=' + Drupal.settings.extlink.extClass + '></span>'); });
    }
    else {
      $(
external_links).not($(external_links).find('img').parents('a')).addClass(Drupal.settings.extlink.extClass).each(function() { if ($(this).css('display') == 'inline') $(this).after('<span class=' + Drupal.settings.extlink.extClass + '></span>'); });
    }
  }
  if (
Drupal.settings.extlink.mailtoClass) {
   
// Apply the "mailto" class to all mailto links not containing images.
   
if (parseFloat($().jquery) < 1.2) {
      $(
mailto_links).not('[img]').addClass(Drupal.settings.extlink.mailtoClass).each(function() { if ($(this).css('display') == 'inline') $(this).after('<span class=' + Drupal.settings.extlink.mailtoClass + '></span>'); });
    }
    else {
      $(
mailto_links).not($(mailto_links).find('img').parents('a')).addClass(Drupal.settings.extlink.mailtoClass).each(function() { if ($(this).css('display') == 'inline') $(this).after('<span class=' + Drupal.settings.extlink.mailtoClass + '></span>'); });
    }
  }
?>

What jquery version are you running?

Status:Active» Postponed (maintainer needs more info)