Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript和Jquery修复IE6 png属性的最佳方法是什么_Javascript_Jquery_Internet Explorer 6_Png_Transparency - Fatal编程技术网

使用javascript和Jquery修复IE6 png属性的最佳方法是什么

使用javascript和Jquery修复IE6 png属性的最佳方法是什么,javascript,jquery,internet-explorer-6,png,transparency,Javascript,Jquery,Internet Explorer 6,Png,Transparency,有没有简单的方法可以通过javascript和jquery修复IE6 PNG的透明性,而不必使用任何插件或过于复杂的东西?如果IE6可用,我建议使用透明的gif。在页面加载时,执行a,并根据需要在javascript中设置图像src。我建议在IE6中使用透明gif。在页面加载时,执行a,并根据需要在javascript中设置图像src。 (但不使用jQuery) (但不使用jQuery) 您可以使用这个小插件为您完成以下操作: 但是,主要解决方案是围绕IE渲染引擎中包含的过滤器构建。

有没有简单的方法可以通过javascript和jquery修复IE6 PNG的透明性,而不必使用任何插件或过于复杂的东西?

如果IE6可用,我建议使用透明的gif。在页面加载时,执行a,并根据需要在javascript中设置图像src。

我建议在IE6中使用透明gif。在页面加载时,执行a,并根据需要在javascript中设置图像src。

  • (但不使用jQuery)
      • (但不使用jQuery)

      您可以使用这个小插件为您完成以下操作:

      但是,主要解决方案是围绕IE渲染引擎中包含的过滤器构建。这些可以通过css或javascript添加

      filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="img.png");
      

      您可以使用此小插件为您执行此操作:

      但是,主要解决方案是围绕IE渲染引擎中包含的过滤器构建。这些可以通过css或javascript添加

      filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="img.png");
      
      我成功地使用了(IEPngFix)。这是一个定制的行为,你可以使用这样做

      <style type="text/css">
          img, div { behavior: url(iepngfix.htc) }
      </style> 
      
      
      img,div{behavior:url(iepngfix.htc)}
      
      有在线教程。

      我成功地使用了(IEPngFix)。这是一个定制的行为,你可以使用这样做

      <style type="text/css">
          img, div { behavior: url(iepngfix.htc) }
      </style> 
      
      
      img,div{behavior:url(iepngfix.htc)}
      

      有在线教程。

      有许多不同的方法来解决这个问题,但是在IE6中解决透明PNG问题的最好和最简单的方法之一是使用DD_belatedPNG。这个轻量级但功能强大的Javascript库为IE6添加了透明的PNG图像支持,的大小只有5.5KB,因此不会对网站的加载时间产生太大影响。它的设置很简单,可以修复CSS背景图像和
      元素


      查看此处的更多详细信息

      有许多不同的方法可以解决此问题,但在IE6中解决透明PNG问题的一个最简单、最漂亮的方法是使用DD_belatedPNG。这个轻量级但功能强大的Javascript库为IE6添加了透明的PNG图像支持,的大小只有5.5KB,因此不会对网站的加载时间产生太大影响。它的设置很简单,可以修复CSS背景图像和
      元素


      请参阅此处的更多详细信息

      jQuery pngfix插件修复了所有png,这是一个复杂的命题,可能比您需要的更强大。它修复了:

      • IMG标签
      • CSS背景图像
      • 输入显示图像的按钮
      要真正回答你的问题,我需要知道你需要修复的是什么,特别是。例如,若您只关心CSS背景图像(很可能您只是在做软阴影),那个么我建议您只需从该插件复制8行的n'粘贴

          // fix css background pngs
          jQuery(this).find("*").each(function(){
              var bgIMG = jQuery(this).css('background-image');
              if(bgIMG.indexOf(".png")!=-1){
                  var iebg = bgIMG.split('url("')[1].split('")')[0];
                  jQuery(this).css('background-image', 'none');
                  jQuery(this).get(0).runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + iebg + "',sizingMethod='scale')";
              }
          });
      

      jQueryPngfix插件修复了所有的PNG,这是一个复杂的命题,可能比您需要的更强大。它修复了:

      • IMG标签
      • CSS背景图像
      • 输入显示图像的按钮
      要真正回答你的问题,我需要知道你需要修复的是什么,特别是。例如,若您只关心CSS背景图像(很可能您只是在做软阴影),那个么我建议您只需从该插件复制8行的n'粘贴

          // fix css background pngs
          jQuery(this).find("*").each(function(){
              var bgIMG = jQuery(this).css('background-image');
              if(bgIMG.indexOf(".png")!=-1){
                  var iebg = bgIMG.split('url("')[1].split('")')[0];
                  jQuery(this).css('background-image', 'none');
                  jQuery(this).get(0).runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + iebg + "',sizingMethod='scale')";
              }
          });
      

      有点奇怪,为什么您不想使用一个插件来检查每个DOM节点,而使用一个插件的代价是难以置信的昂贵。最好是手工操作。有点奇怪,为什么你不想使用一个插件,而使用一个插件来检查每个DOM节点是非常昂贵的。最好是手工操作。使用GIF或8位PNG可能在某些情况下有效,但条件注释和直接CSS是实现IE6不同图像的正确方法,而不是JavaScript+浏览器检测w/JavaScript。这取决于img是用html还是CSG设置。使用GIF或8位PNG可能在某些情况下有效,但条件注释和直接CSS是实现IE6不同图像的正确方法,不是JavaScript+浏览器检测,而是JavaScript。这取决于img是用html还是cssDon设置的。不要忘记
      background:none
      之前的
      filter
      line不要忘记
      background:none
      之前的
      filter
      line这非常昂贵。最好为标记节点分配一个类以进行单独修改(例如:
      class=“fix png”
      )。在我自己的工作中,我发现“手工”方法通常更合适,实际上并不昂贵,因为你会在特定元素(而不是整个文档)上调用此代码。这是非常昂贵的。最好为标记节点分配一个类以进行单独修改(例如:
      class=“fix png”
      )。在我自己的工作中,我发现“手工”方法通常更合适,实际上并不昂贵,因为您会在特定元素(而不是整个文档)上调用此代码。