>웹 프론트엔드 >JS 튜토리얼 >transparent_javascript 기술을 설정하기 위해 필터를 사용하여 발생한 IE 6/7/8/9 구문 분석 예외에 대한 솔루션

transparent_javascript 기술을 설정하기 위해 필터를 사용하여 발생한 IE 6/7/8/9 구문 분석 예외에 대한 솔루션

WBOY
WBOY원래의
2016-05-16 18:08:221284검색

다음과 같습니다

코드를 복사합니다 코드는 다음과 같습니다.



IE 개발자 도구 또는 IE8과 함께 제공되는 개발자 도구를 사용하세요. 구조는 그림 1과 같습니다.

transparent_javascript 기술을 설정하기 위해 필터를 사용하여 발생한 IE 6/7/8/9 구문 분석 예외에 대한 솔루션

빨간색 원 안에는 div에 추가된 인라인 스타일의 너비, 높이, 배경이 순서대로 정렬되어 있는 것을 볼 수 있습니다. 정상!

그러나 div에 filter:alpha(opacity=20)를 추가한 후





그림 2와 같이 상황이 바뀌었습니다.

transparent_javascript 기술을 설정하기 위해 필터를 사용하여 발생한 IE 6/7/8/9 구문 분석 예외에 대한 솔루션

빨간색 원에 표시된 것처럼 너비와 필터가 한 줄로 압축됩니다. 일반적인 상황에서는 너비가 새 줄에서 시작되어야 합니다.
페이지 요소의 올바른 렌더링에 영향을 주지 않는 한 이는 단지 개발자 도구가 올바르게 표시되지 않는 것이라고 말하는 사람들도 있습니다.
실제로 IE6/7/8/9에서는 이 요소의 너비, 높이, 배경색 및 투명도가 설정에 따라 예상대로 렌더링되고 표시될 수 있습니다. 사진과 같이:

transparent_javascript 기술을 설정하기 위해 필터를 사용하여 발생한 IE 6/7/8/9 구문 분석 예외에 대한 솔루션

또한, 스타일 태그나 CSS 파일에 스타일을 작성하는 경우에도 위와 같은 현상이 발생합니다.

JS 설정 필터를 다시 보면 상황이 조금 다릅니다. 코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.



IE 6/ 9월 7일 <br></head> <br><body> <br><div id="d1" style="width:100px;height:100px; background:gold"> /div> <br> <script type="text/javascript"> <br>var d1 = document.getElementById('d1') <br>d1.style.filter = 'alpha(opacity=20)' ; <br>< /script> <br></body> <br><br><br>IE의 구조를 보면 그림 2와 같습니다. 즉, 필터와 너비가 한 줄에 있습니다. <br> </div>위 html의 마지막 js 코드에 주목하세요 <br><br><br><br><div class="codetitle">코드 복사<span><a style="CURSOR: pointer" data="98542" class="copybut" id="copybut98542" onclick="doCopy('code98542')"><u> 코드는 다음과 같습니다. </u></a> </span>d1.style.filter = 'alpha(opacity=20)'; </div> <div class="codebody" id="code98542"> <br>오른쪽 괄호 뒤에는 세미콜론이 없습니다. 이제 문장을 살짝 바꿔보세요(실제로는 약간의 변화입니다. 세미콜론만 추가하시면 됩니다) <br> </div> <br><br><div class="codetitle">코드 복사<span><a style="CURSOR: pointer" data="79979" class="copybut" id="copybut79979" onclick="doCopy('code79979')"><u> 코드는 다음과 같습니다 :</u></a> </span>d1.style.filter = 'alpha(opacity=20);'; </div> <div class="codebody" id="code79979"> <br>즉, 괄호 뒤에 세미콜론 ";"이 추가됩니다. 이때 그림 3과 같이 IE 개발자 도구를 봅니다. <br> </div> <br><br> <p>빨간색 원으로 둘러싸인 네 가지 CSS 속성인 배경, 필터, 높이, 너비가 별도의 줄에 표시되는 것을 볼 수 있습니다. 그림 2와 같이 한 줄에 필터와 너비가 표시되지 않습니다. <img style="max-width:90%" src="http://files.jb51.net/upload/201104/20110407231031740.png" style="max-width:90%" alt="transparent_javascript 기술을 설정하기 위해 필터를 사용하여 발생한 IE 6/7/8/9 구문 분석 예외에 대한 솔루션" > </p>PS: 많은 인기 JS 라이브러리에서는 투명도를 설정하기 위해 알파(불투명도=20) 뒤에 세미콜론을 추가하지 않습니다. <p></p></div><div class="nphpQianMsg"><div class="clear"></div></div><div class="nphpQianSheng"><span>성명:</span><div>본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.</div></div></div><div class="nphpSytBox"><span>이전 기사:<a class="dBlack" title="IE6/7/8/9_javascript 스킬에서 Table/Select의 innerHTML에 값을 할당할 수 없는 문제 해결" href="https://m.php.cn/ko/faq/20244.html">IE6/7/8/9_javascript 스킬에서 Table/Select의 innerHTML에 값을 할당할 수 없는 문제 해결</a></span><span>다음 기사:<a class="dBlack" title="IE6/7/8/9_javascript 스킬에서 Table/Select의 innerHTML에 값을 할당할 수 없는 문제 해결" href="https://m.php.cn/ko/faq/20246.html">IE6/7/8/9_javascript 스킬에서 Table/Select의 innerHTML에 값을 할당할 수 없는 문제 해결</a></span></div><div class="nphpSytBox2"><div class="nphpZbktTitle"><h2>관련 기사</h2><em><a href="https://m.php.cn/ko/article.html" class="bBlack"><i>더보기</i><b></b></a></em><div class="clear"></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="fluid" data-ad-layout-key="-6t+ed+2i-1n-4w" data-ad-client="ca-pub-5902227090019525" data-ad-slot="8966999616"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><ul class="nphpXgwzList"><li><b></b><a href="https://m.php.cn/ko/faq/1609.html" title="Bootstrap 목록 그룹 구성 요소에 대한 심층 분석" class="aBlack">Bootstrap 목록 그룹 구성 요소에 대한 심층 분석</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/ko/faq/1640.html" title="JavaScript 함수 커링에 대한 자세한 설명" class="aBlack">JavaScript 함수 커링에 대한 자세한 설명</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/ko/faq/1949.html" title="JS 비밀번호 생성 및 강도 감지의 전체 예(데모 소스 코드 다운로드 포함)" class="aBlack">JS 비밀번호 생성 및 강도 감지의 전체 예(데모 소스 코드 다운로드 포함)</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/ko/faq/2248.html" title="Angularjs는 WeChat UI(weui)를 통합합니다." class="aBlack">Angularjs는 WeChat UI(weui)를 통합합니다.</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/ko/faq/2351.html" title="JavaScript를 사용하여 중국어 번체와 중국어 간체 간을 빠르게 전환하는 방법과 중국어 간체와 중국어 번체 간 전환을 지원하는 웹사이트의 요령_javascript 기술" class="aBlack">JavaScript를 사용하여 중국어 번체와 중국어 간체 간을 빠르게 전환하는 방법과 중국어 간체와 중국어 번체 간 전환을 지원하는 웹사이트의 요령_javascript 기술</a><div class="clear"></div></li></ul></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5902227090019525" data-ad-slot="5027754603"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><footer><div class="footer"><div class="footertop"><img src="/static/imghwm/logo.png" alt=""><p>공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!</p></div><div class="footermid"><a href="https://m.php.cn/ko/about/us.html">회사 소개</a><a href="https://m.php.cn/ko/about/disclaimer.html">부인 성명</a><a href="https://m.php.cn/ko/update/article_0_1.html">Sitemap</a></div><div class="footerbottom"><p> © php.cn All rights reserved </p></div></div></footer><script>isLogin = 0;</script><script type="text/javascript" src="/static/layui/layui.js"></script><script type="text/javascript" src="/static/js/global.js?4.9.47"></script></div><script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script><link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css' type='text/css' media='all'/><script type='text/javascript' src='/static/js/viewer.min.js?1'></script><script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script><script>jQuery.fn.wait = function (func, times, interval) { var _times = times || -1, //100次 _interval = interval || 20, //20毫秒每次 _self = this, _selector = this.selector, //选择器 _iIntervalID; //定时器id if( this.length ){ //如果已经获取到了,就直接执行函数 func && func.call(this); } else { _iIntervalID = setInterval(function() { if(!_times) { //是0就退出 clearInterval(_iIntervalID); } _times <= 0 || _times--; //如果是正数就 -- _self = $(_selector); //再次选择 if( _self.length ) { //判断是否取到 func && func.call(_self); clearInterval(_iIntervalID); } }, _interval); } return this; } $("table.syntaxhighlighter").wait(function() { $('table.syntaxhighlighter').append("<p class='cnblogs_code_footer'><span class='cnblogs_code_footer_icon'></span></p>"); }); $(document).on("click", ".cnblogs_code_footer",function(){ $(this).parents('table.syntaxhighlighter').css('display','inline-table');$(this).hide(); }); $('.nphpQianCont').viewer({navbar:true,title:false,toolbar:false,movable:false,viewed:function(){$('img').click(function(){$('.viewer-close').trigger('click');});}}); </script></body></html>