Changeset 98ef63c in github


Ignore:
Timestamp:
May 18, 2010 12:28:38 PM (3 years ago)
Author:
alecpl <alec@…>
Branches:
master, HEAD, courier-fix, dev-browser-capabilities, pdo, release-0.6, release-0.7, release-0.8
Children:
c435173
Parents:
6a86d272
Message:
  • Fixes for IE6 (updated pngbehaviour.htc)
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • THREADS

    r0e7b663 r98ef63c  
    1010    - button in #listcontrols to mark all messages in current thread (with selected 
    1111      root or child message), 
    12  
    13 KNOWN ISSUES: 
    14     - IE6: message, flag, attachment icons are not displayed in  
    15       initially collapsed child rows 
  • skins/default/ie6hacks.css

    rd44571b r98ef63c  
    99{ 
    1010  behavior: url(skins/default/pngbehavior.htc); 
     11} 
     12 
     13#header img 
     14{ 
     15  width: 178px; 
     16  height: 47px; 
    1117} 
    1218 
  • skins/default/pngbehavior.htc

    r0d1dd7c r98ef63c  
    1 <public:component> 
     1<public:component lightWeight="true"> 
    22<public:attach event="onpropertychange" onevent="propertyChanged()" /> 
    3 <public:attach event="onbeforeprint" for="window" onevent="beforePrint()" /> 
    4 <public:attach event="onafterprint" for="window" onevent="afterPrint()" /> 
     3<public:attach event="onbeforeprint" onevent="beforePrint()" for="window"/> 
     4<public:attach event="onafterprint" onevent="afterPrint()" for="window"/> 
    55<script> 
    66 
     
    88 * PNG Behavior 
    99 * 
    10  * This script was created by Erik Arvidsson (erik(at)eae.net) 
     10 * This script was created by Erik Arvidsson (http://webfx.eae.net/contact.html#erik) 
    1111 * for WebFX (http://webfx.eae.net) 
    12  * Copyright 2002 
    13  *  
    14  * For usage see license at http://webfx.eae.net/license.html    
     12 * Copyright 2002-2004 
    1513 * 
    16  * Version: 1.01a 
     14 * For usage see license at http://webfx.eae.net/license.html 
     15 * 
     16 * Version: 1.02 
     17 * Created: 2001-??-??  First working version 
     18 * Updated: 2002-03-28  Fixed issue when starting with a non png image and 
     19 *                      switching between non png images 
     20 *          2003-01-06  Fixed RegExp to correctly work with IE 5.0x 
     21 *          2004-05-09  When printing revert to original 
    1722 * 
    1823 */ 
    19   
    20 var IS_PNG = /\.png$/i; 
    21 var supported = /MSIE ((5\.5)|6)/.test(navigator.userAgent) && navigator.platform == 'Win32'; 
    22 var realSrc, realHeight, realWidth; 
    23 var blankSrc = 'skins/default/images/blank.gif'; 
     24 
     25var supported = /MSIE ((5\.5)|6)/.test(navigator.userAgent) && navigator.platform == "Win32", 
     26  realSrc, 
     27  blankSrc = "skins/default/images/blank.gif", 
     28  isPrinting = false; 
     29 
    2430if (supported) fixImage(); 
     31 
    2532function propertyChanged() { 
    26   if (supported && event.propertyName == 'src') { 
    27     var i = element.src.lastIndexOf(blankSrc); 
    28     if (i == -1 || i != element.src.length - blankSrc.length) { 
    29       fixImage(); 
    30     } 
    31   } 
     33        if (!supported || isPrinting) return; 
     34 
     35        var pName = event.propertyName; 
     36        if (pName != "src") return; 
     37        // if not set to blank 
     38        if (!new RegExp(blankSrc).test(src)) 
     39                fixImage(); 
     40}; 
     41 
     42function fixImage() { 
     43        // get src 
     44        var src = element.src; 
     45 
     46        // check for real change 
     47        if (src == realSrc && /\.png$/i.test(src)) { 
     48                element.src = blankSrc; 
     49                return; 
     50        } 
     51 
     52        if ( ! new RegExp(blankSrc).test(src)) { 
     53                // backup old src 
     54                realSrc = src; 
     55        } 
     56 
     57        // test for png 
     58        if (/\.png$/i.test(realSrc)) { 
     59                // set blank image 
     60                element.src = blankSrc; 
     61                // set filter 
     62                element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft." + 
     63                                        "AlphaImageLoader(src='" + src + "',sizingMethod='scale')"; 
     64        } 
     65        else { 
     66                // remove filter 
     67                element.runtimeStyle.filter = ""; 
     68        } 
    3269} 
    33 function fixImage() { 
    34   if (realSrc && element.src == realSrc) { 
    35     // this is an attempt to set the image to itself! 
    36     // pointless - leave the filter as-is, restore the blank image 
    37     element.src = blankSrc; 
    38   } else { 
    39     // set the image to something different 
    40     if (IS_PNG.test(element.src)) { 
    41       // fixable PNG 
    42       realSrc = element.src; 
    43       realWidth = element.width; 
    44       realHeight = element.height; 
    45       element.src = blankSrc; 
    46       element.style.width = realWidth + 'px'; 
    47       element.style.height = realHeight + 'px'; 
    48       element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + encodeURI(realSrc) + "',sizingMethod='scale')"; 
    49     } else { 
    50       // ordinary image - make sure the fix is removed 
    51       if (realSrc) { 
    52         realSrc = null; 
    53         element.runtimeStyle.filter = ''; 
    54       } 
    55     } 
    56   } 
     70 
     71function beforePrint() { 
     72        isPrinting = true; 
     73        element.src = realSrc; 
     74        element.runtimeStyle.filter = ""; 
     75        realSrc = null; 
    5776} 
    58 function beforePrint() { 
    59   if (realSrc) { 
    60     supported = false; 
    61     element.src = realSrc; 
    62     element.runtimeStyle.filter = ''; 
    63     supported = true; 
    64   } 
     77 
     78function afterPrint() { 
     79        isPrinting = false; 
     80        fixImage(); 
    6581} 
    66 function afterPrint() { 
    67   if (realSrc) { 
    68     var rs = realSrc; 
    69     realSrc = null; 
    70     element.src = rs; 
    71   } 
    72 } 
     82 
    7383</script> 
    7484</public:component> 
Note: See TracChangeset for help on using the changeset viewer.