Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    problema su pngbehavior.htc

    Ho un grosso problema con il pngbehavior, la cui funzione permette di visualizzare correttamente le immagini in png su ie5 e ie6.

    Questo è il file pngbehavior.htc
    codice:
    <public:component lightWeight="true">
    <public:attach event="onpropertychange" onevent="propertyChanged()" />
    <public:attach event="onbeforeprint" onevent="beforePrint()" for="window"/>
    <public:attach event="onafterprint" onevent="afterPrint()" for="window"/>
    <script>
    
    /*
     * PNG Behavior
     *
     * This script was created by Erik Arvidsson (http://webfx.eae.net/contact.html#erik)
     * for WebFX (http://webfx.eae.net)
     * Copyright 2002-2004
     *
     * For usage see license at http://webfx.eae.net/license.html
     *
     * Version: 1.02
     * Created: 2001-??-??	First working version
     * Updated: 2002-03-28	Fixed issue when starting with a non png image and
     *                      switching between non png images
     *          2003-01-06	Fixed RegExp to correctly work with IE 5.0x
     *          2004-05-09  When printing revert to original
     *
     */
    
    var supported = /MSIE ((5\.5)|[6789])/.test(navigator.userAgent) &&
    				navigator.platform == "Win32";
    
    var realSrc;
    var blankSrc = "images/blank.gif";
    var isPrinting = false;
    
    if (supported) fixImage();
    
    function propertyChanged() {
    	if (!supported || isPrinting) return;
    
    	var pName = event.propertyName;
    	if (pName != "src") return;
    	// if not set to blank
    	if (!new RegExp(blankSrc).test(src))
    		fixImage();
    };
    
    function fixImage() {
    	// get src
    	var src = element.src;
    
    	// check for real change
    	if (src == realSrc && /\.png$/i.test(src)) {
    		element.src = blankSrc;
    		return;
    	}
    
    	if ( ! new RegExp(blankSrc).test(src)) {
    		// backup old src
    		realSrc = src;
    	}
    
    	// test for png
    	if (/\.png$/i.test(realSrc)) {
    		// set blank image
    		element.src = blankSrc;
    		// set filter
    		element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft." +
    					"AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
    	}
    	else {
    		// remove filter
    		element.runtimeStyle.filter = "";
    	}
    }
    
    function beforePrint() {
    	isPrinting = true;
    	element.src = realSrc;
    	element.runtimeStyle.filter = "";
    	realSrc = null;
    }
    
    function afterPrint() {
    	isPrinting = false;
    	fixImage();
    }
    
    </script>
    </public:component>
    Lo script funziona alla perfezione ma ha un difetto. Se l'immagine in png non ha impostato all'interno del tag img l'altezza e la larghezza, questa non si visualizza. O meglio si visualizza ma con un'altezza e una larghezza di 0px. E' possibile in qualche modo modificare il javascript in modo che vengano automaticamente lette le dimensioni dell'immagine?

    Ciao

  2. #2

  3. #3

  4. #4

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.