2013-04-01 3 views
0

jQuery 1.9 이전의 페이지에서 일부 JavaScript를 통해 생성 된 iFrame이 있습니다. Internet Explorer가 사용되고 있는지 확인하고 필요한 일부 속성을 추가했는지 확인하기 위해 간단한 확인을 사용하고있었습니다. ie7과 ie8에서 iframe이 제대로 렌더링되도록합니다. 물론 이러한 속성은 더 이상 유효하지 않으며, 절대적으로 필요하지 않으면 HTML에서 유효하지 않은 코드를 갖고 싶지 않으므로 ie8 이하에만 적용됩니다. 그들이 .browser되지 jQuery를 1.9에서Internet Explorer 감지 및 iFrame에 사용자 지정 속성 적용

var ieOldAttr = " "; 
if ($.browser.msie && parseInt($.browser.version, 10) <= 8) { 
    ieOldAttr = "allowTransparency=\"true\" marginheight=\"0\" marginwidth=\"0\" frameborder=\"0\" "; 
} 

//Generate iFrame here 
pageOutput += "<iframe id=\"feedbackiFrame\" src=\"URLHERE\"" + ieOldAttr + "style=\"border: none; overflow: hidden; height: 540px; width: 415px; position:absolute; left: 5px; top: 5px;\"><\/iframe>"; 

$(document).ready(function() { 
    $(pageOutput).appendTo(document.body); 
}); 

, 그들은 대신 모더 나이저를 사용하는 것이 좋습니다,하지만 난 모더 나이저 내가 여기 할 필요 무엇을 달성 할 수있을 것 같아요. 거기에 내가 어떻게 모질라에 대해 알고 정확하게 이것을 감지하고 iFrame을 렌더링 할 수있는 브라우저를 감지하고 다음 iFrame에 적용 할 몇 가지 순수한 자바 스크립트를 할 필요가 있습니다.

+0

이 질문은 관련이있을 수 있습니다. http://stackoverflow.com/questions/5825385/javascript-can-i-detect-ie9-if-its-in-ie7-or-ie8-compatibility-mode – Kevin

답변

0

나는이 멋진 작은 기능을 사용했다. 순수 JS.

var Browser = { 
    Version: function() { 
    var version = 0; 
    if (navigator.appVersion.indexOf("MSIE") != -1) 
     version = parseFloat(navigator.appVersion.split("MSIE")[1]); 
    return version; 
    } 
}